 Образовательный виртуальный мир vAcademia
 Образовательный виртуальный мир vAcademiaЗдесь показаны различия между двумя версиями данной страницы.
| jazyk:bots_2 [2014/05/16 10:33] vadmin создано | jazyk:bots_2 [2023/05/08 17:44] (текущий) | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | {{indexmenu_n>13}} | ||
| =====Функции vJS для управления ботами==== | =====Функции vJS для управления ботами==== | ||
| - | doGesture(name) - выполнить жест по имени жеста. Параметр name этой функции является именем выполняемого действия. | + | //doGesture(name)// - выполнить жест по имени жеста. Параметр name этой функции является именем выполняемого действия. | 
| Возможные действия: | Возможные действия: | ||
| - | • agree - согласие, | + | * agree - согласие; | 
| - | • disagree - несогласие, | + | * disagree - несогласие; | 
| - | • applause  - аплодисменты, | + | * applause  - аплодисменты; | 
| - | • waving – помахать рукой, | + | * waving – помахать рукой; | 
| - | • shrug – пожать плечами, | + | * shrug – пожать плечами; | 
| - | • laugh - смех, | + | * laugh - смех; | 
| - | • approv - одобрение, | + | * approv - одобрение; | 
| - | • cheer - ура, | + | * cheer - ура; | 
| - | • look_at_watch – посмотреть на часы, | + | * look_at_watch – посмотреть на часы; | 
| - | • dance – танцевать. | + | * dance – танцевать. | 
| Пример использования: | Пример использования: | ||
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | bot1.doGesture("look_at_watch"); | + | bot1.doGesture("look_at_watch"); | 
| - | doGestureInCycle(name, replayCount) - выполнить жест replayCount раз. Параметр name этой функции является именем выполняемого действия. | + | //doGestureInCycle(name, replayCount)// - выполнить жест replayCount раз. Параметр name этой функции является именем выполняемого действия. | 
| - | playSound(res, volume) – проиграть звук из серверного ресурса res (полученный с помощью getServerResource) с уровнем громкости volume в процентах. Бот должен на протяжении проигрывания звука махать руками и шевелить ртом. Могут быть проиграны любые звуки в формате wav или mp3, предварительно загруженные в коллекцию ресурсов. | + | //playSound(res, volume)// – проиграть звук из серверного ресурса res (полученный с помощью getServerResource) с уровнем громкости volume в процентах. Бот должен на протяжении проигрывания звука махать руками и шевелить ртом. Могут быть проиграны любые звуки в формате wav или mp3, предварительно загруженные в коллекцию ресурсов. | 
| Пример использования: | Пример использования: | ||
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | scene.myRes = getServerResource("long_speech.mp3"); | + | scene.myRes = getServerResource("long_speech.mp3"); | 
| - | bot1.onPress = function() | + | bot1.onPress = function() | 
| - | { | + | { | 
| - | bot1.playSound(scene.myRes, 100); | + | bot1.playSound(scene.myRes, 100); | 
| - | } | + | } | 
| - | stopSounds() – прекратить проигрывание всех звуков | + | //stopSounds()// – прекратить проигрывание всех звуков | 
| Пример использования – при нажатии на bot1, он начинает проигрывать звук, а при нажатии на bot2 перестаёт: | Пример использования – при нажатии на bot1, он начинает проигрывать звук, а при нажатии на bot2 перестаёт: | ||
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | var bot2 = scene.getBotByName("bot2"); | + | var bot2 = scene.getBotByName("bot2"); | 
| - | scene.myRes = getServerResource("table_speech.mp3"); | + | scene.myRes = getServerResource("table_speech.mp3"); | 
| - | bot1.onPress = function() | + | bot1.onPress = function() | 
| - | { | + | { | 
| - | bot1.playSound(scene.myRes, 100); | + | bot1.playSound(scene.myRes, 100); | 
| - | } | + | } | 
| - | bot2.onPress = function() | + | bot2.onPress = function() | 
| - | { | + | { | 
| - | bot1. stopSounds(); | + | bot1. stopSounds(); | 
| - | } | + | } | 
| - | goToPos (x, y) – бот идёт в точку c координатами x, y. При этом изменяется синхронизируемое свойство position бота. | + | //goToPos (x, y)// – бот идёт в точку c координатами x, y. При этом изменяется синхронизируемое свойство position бота. | 
| Пример: | Пример: | ||
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | bot1.goToPos(62385, 26900); | + | bot1.goToPos(62385, 26900); | 
| - | teleport(x, y) – бот переносится в точку с координатами x, y моментально. При этом изменяется синхронизируемое свойство position бота. | + | //teleport(x, y)// – бот переносится в точку с координатами x, y моментально. При этом изменяется синхронизируемое свойство position бота. | 
| Пример: | Пример: | ||
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | bot1.teleport (62385, 26900); | + | bot1.teleport (62385, 26900); | 
| - | writeToChat(str) – бот пишет в чат строку str, в чате отображается имя, аватар бота и строка str. | + | //writeToChat(str)// – бот пишет в чат строку str, в чате отображается имя, аватар бота и строка str. | 
| Пример: | Пример: | ||
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | bot1.writeToChat (“Hello world!”); | + | bot1.writeToChat (“Hello world!”); | 
| - | showDialog(name, question, answers, sound, answersSound) – показать диалоговое окно бота с именем name с вопросом question и 2-10 вариантами ответа (массив строк answers). Вопрос может быть продублирован звуком sound, а может быть проигнорирован (sound = null). answersSound – массив звуков к вариантам ответов. Вместо массива ответов допустим null. | + | |
| + | //showDialog(name, question, answers, sound, answersSound)// – показать диалоговое окно бота с именем name с вопросом question и 1-10 вариантами ответа (массив строк answers). Вопрос может быть продублирован звуком sound, а может быть проигнорирован (sound = null). answersSound – массив звуков к вариантам ответов. Вместо массива ответов допустим null. | ||
| Пример: | Пример: | ||
| - | scene.questionSound = getServerResource("question.mp3"); | + | scene.questionSound = getServerResource("question.mp3"); | 
| - | scene.answers = new Array(); | + | scene.answers = new Array(); | 
| - | scene.answersSound = new Array(); | + | scene.answersSound = new Array(); | 
| - | for (var i = 0; i < 5; ++i) | + | for (var i = 0; i < 5; ++i) | 
| - | { | + | { | 
| - | scene.answers.push("answer " + i); | + | scene.answers.push("answer " + i); | 
| - | scene.answersSound.push(scene.musica); | + | scene.answersSound.push(scene.musica); | 
| - | } | + | } | 
| - | var bot1 = scene.getBotByName("bot1"); | + | var bot1 = scene.getBotByName("bot1"); | 
| - | bot1.onPress = function() | + | bot1.onPress = function() | 
| - | { | + | { | 
| - | var obj = showDialogueBox("bot1", "Some question here", scene.answers, scene.questionSound, scene.answersSound); | + | var obj = showDialogueBox("bot1", "Some question here", scene.answers, scene.questionSound, scene.answersSound); | 
| - | obj.onClose = function() | + | obj.onClose = function() | 
| - | { | + | { | 
| - | traceStr(“Choosen answer = ” + this.getButtonId()); | + | traceStr(“Choosen answer = ” + this.getButtonId()); | 
| - | } | + | } | 
| - | } | + | } | 
| + | |||
| + | //sit(chair, placeID)// - бот садится на 3D-объект chair c размеченными сиденьями на сидение с номером placeID (начинаются с 0), если сиденье занято – садится на ближайшее соседнее. | ||
| + | |||
| + | Пример: | ||
| + | var bot1 = scene.getBotByName("bot1"); | ||
| + | var sit1 = scene.getObjectByName("sit1"); | ||
| + | bot1.sit(sit1, 0); | ||
| + | |||
| + | //applyMimic(viseme)// - бот показывает на лице эмоцию с названием viseme (допустимые значения: smile). | ||
| + | |||
| + | Пример: | ||
| + | var bot1 = scene.getBotByName("bot1"); | ||
| + | bot1.applyMimic("smile"); | ||
| + | |||
| + | //pointerShow(pos)// - бот показывает указку, направленную в точку с координатами, переданными в аргументе pos (тип аргумента - Position3D). | ||
| + | |||
| + | Пример: | ||
| + | var bot1 = scene.getBotByName("bot1"); | ||
| + | var pos = new Position3D(0, 0, 0); | ||
| + | bot1.pointerShow(pos); | ||
| + | |||
| + | //pointerHide()// - бот прячет указку. | ||
| + | |||
| + | Пример: | ||
| + | var bot1 = scene.getBotByName("bot1"); | ||
| + | bot1.pointerHide(); | ||
| + | |||
| + | //pointerShowForTime(pos, time)// - бот показывает указку и прячет ее по истечении времени time (в миллисекундах). | ||
| + | |||
| + | Пример: | ||
| + | var bot1 = scene.getBotByName("bot1"); | ||
| + | var pos = new Position3D(0, 0, 0); | ||
| + | bot1.pointerShowForTime(pos, 1000); | ||