Типовая программа состоит из следующих шагов:
1. Получить ссылки на управляемые объекты.
2. Назначить обработчики необходимых событий для этих объектов.
Примером программы на vJS может служить следующий код:
var obj1 = scene.getObjectByName("ИмяМоегоОбъекта"); obj1.onPress = function() { // сделать что-нибудь, если нажали на объект }
Ссылка на объект получается с помощью вызова метода getObjectByName глобального объекта scene. Обычно единственный параметр этой функции является фиксировано заданной строкой. Однако, возможно формирование имени объекта на лету в строковую переменную. Работа программы не начинается до тех пор, пока все объекты, используемые программой не будут загружены. Если вы используете обращения к объектам по именам из строковых переменных, то рекомендуется во избежание некорректной работы вашей программы в начале программы разместить вызовы метода requireObject глобального объекта scene. Выполнение программы также не начнется, пока объекты, имена которых будут перечислены в вызовах requireObject, не будут загружены.
Для того, чтобы задать имя объекта, выделите его с помощью инструмента размещения объектов. Нажмите кнопку вызова настройки свойств.
В появившемся окне выберите вкладку общих свойств.
и введите нужное имя.
У 3D-объекта существует несколько стандартных событий, на которые вы можете задать обработчики:
В случае обработки клавиатурных событий код нажатой клавиши можно получить с помощью свойств и методов глобального объекта Key:
Для сравнения значения свойства Key.keyCode c наиболее популярными клавишами можно использовать следующие константы:
Чтобы события нажатия клавиш приходили вашему 3D-объекту, необходимо подписать его на получений событий от клавиатуры принудительно с помощью команды Key.addListener( obj3d);
Чтобы отписать 3D-объект от клавиатурных событий используете команду Key.removeListener( obj3d);
Подписка и отписка клавиатурных событий может использоваться как гибкое и мощное средство определения того, какой объект должен реагировать на клавиатурный ввод в текущий момент времени.