{{indexmenu_n>13}} =====Функции vJS для управления ботами==== //doGesture(name)// - выполнить жест по имени жеста. Параметр name этой функции является именем выполняемого действия. Возможные действия: * agree - согласие; * disagree - несогласие; * applause - аплодисменты; * waving – помахать рукой; * shrug – пожать плечами; * laugh - смех; * approv - одобрение; * cheer - ура; * look_at_watch – посмотреть на часы; * dance – танцевать. Пример использования: var bot1 = scene.getBotByName("bot1"); bot1.doGesture("look_at_watch"); //doGestureInCycle(name, replayCount)// - выполнить жест replayCount раз. Параметр name этой функции является именем выполняемого действия. //playSound(res, volume)// – проиграть звук из серверного ресурса res (полученный с помощью getServerResource) с уровнем громкости volume в процентах. Бот должен на протяжении проигрывания звука махать руками и шевелить ртом. Могут быть проиграны любые звуки в формате wav или mp3, предварительно загруженные в коллекцию ресурсов. Пример использования: var bot1 = scene.getBotByName("bot1"); scene.myRes = getServerResource("long_speech.mp3"); bot1.onPress = function() { bot1.playSound(scene.myRes, 100); } //stopSounds()// – прекратить проигрывание всех звуков Пример использования – при нажатии на bot1, он начинает проигрывать звук, а при нажатии на bot2 перестаёт: var bot1 = scene.getBotByName("bot1"); var bot2 = scene.getBotByName("bot2"); scene.myRes = getServerResource("table_speech.mp3"); bot1.onPress = function() { bot1.playSound(scene.myRes, 100); } bot2.onPress = function() { bot1. stopSounds(); } //goToPos (x, y)// – бот идёт в точку c координатами x, y. При этом изменяется синхронизируемое свойство position бота. Пример: var bot1 = scene.getBotByName("bot1"); bot1.goToPos(62385, 26900); //teleport(x, y)// – бот переносится в точку с координатами x, y моментально. При этом изменяется синхронизируемое свойство position бота. Пример: var bot1 = scene.getBotByName("bot1"); bot1.teleport (62385, 26900); //writeToChat(str)// – бот пишет в чат строку str, в чате отображается имя, аватар бота и строка str. Пример: var bot1 = scene.getBotByName("bot1"); bot1.writeToChat (“Hello world!”); //showDialog(name, question, answers, sound, answersSound)// – показать диалоговое окно бота с именем name с вопросом question и 1-10 вариантами ответа (массив строк answers). Вопрос может быть продублирован звуком sound, а может быть проигнорирован (sound = null). answersSound – массив звуков к вариантам ответов. Вместо массива ответов допустим null. Пример: scene.questionSound = getServerResource("question.mp3"); scene.answers = new Array(); scene.answersSound = new Array(); for (var i = 0; i < 5; ++i) { scene.answers.push("answer " + i); scene.answersSound.push(scene.musica); } var bot1 = scene.getBotByName("bot1"); bot1.onPress = function() { var obj = showDialogueBox("bot1", "Some question here", scene.answers, scene.questionSound, scene.answersSound); obj.onClose = function() { 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);