Это старая версия документа.
Типовая программа состоит из следующих шагов:
1. Получить ссылки на управляемые объекты.
2. Назначить обработчики необходимых событий для этих объектов.
Примером программы на vJS может служить следующий код:
var obj1 = scene.getObjectByName("ИмяМоегоОбъекта"); obj1.onPress = function() { // сделать что-нибудь, если нажали на объект }
Ссылка на объект получается с помощью вызова метода getObjectByName глобального объекта scene. Обычно единственный параметр этой функции является фиксировано заданной строкой. Однако, возможно формирование имени объекта на лету в строковую переменную. Работа программы не начинается до тех пор, пока все объекты, используемые программой не будут загружены. Если вы используете обращения к объектам по именам из строковых переменных, то рекомендуется во избежание некорректной работы вашей программы в начале программы разместить вызовы метода requireObject глобального объекта scene. Выполнение программы также не начнется, пока объекты, имена которых будут перечислены в вызовах requireObject, не будут загружены.
Для того, чтобы задать имя объекта, выделите его с помощью инструмента размещения объектов. Нажмите кнопку вызова настройки свойств
В появившемся окне выберите вкладку общих свойств.
и введите нужное имя.
У 3D-объекта существует несколько стандартных событий, на которые вы можете задать обработчики:
• onPress – нажата кнопка мыши на объекте • onRelease – кнопка мыши отпущена на объекте • onReleaseOutside – кнопка мыши отпущена вне объекта • onRollOver – указатель мыши попал на объект • onRollOut – указатель мыши вышел из объект • onKeyDown – нажата клавиша клавиатуры • onKeyUp – отпущена клавиша клавиатуры
В случае обработки клавиатурных событий код нажатой клавиши можно получить с помощью свойств и методов глобального объекта Key: • Key.keyCode – код нажатой клавиши • Key.getAscii() – возвращает код нажатой клавиши в раскладке ASCII • Key.getUnicode() – возвращает код нажатой клавише в кодировке UTF8 • Key.shiftKey – нажата ли клавиша Shift • Key.shiftLeft – нажата ли левая клавиша Shift • Key.ctrlKey – нажата ли клавиша Ctrl • Key.ctrlLeft – нажата ли левая клавиша Ctrl • Key.altKey – нажата ли клавиша Alt • Key.altLeft – нажата ли левая клавиша Alt
Для сравнения значения свойства Key.keyCode c наиболее популярными клавишами можно использовать следующие константы: • Key.BACKSPACE – кнопка BackSpace • Key.CAPSLOCK – кнопка CapsLock • Key.DELETEKEY – кнопка Delete • Key.DOWN – кнопка со стрелкой вниз • Key.END – кнопка End • Key.ENTER – кнопка Enter • Key.ESCAPE – кнопка Escape • Key.HOME – кнопка Home • Key.INSERT – кнопка Insert • Key.LEFT – кнопка со стрелкой влево • Key.PGDN – кнопка PageDown • Key.PGUP – кнопка PageUp • Key.RIGHT – кнопка со стрелкой вправо • Key.SPACE – кнопка пробела • Key.TAB – кнопка табуляции • Key.UP – кнопка со стрелкой вверх
Чтобы события нажатия клавиш приходили вашему 3D-объекту, необходимо подписать его на получений событий от клавиатуры принудительно с помощью команды Key.addListener( obj3d);
Чтобы отписать 3D-объект от клавиатурных событий используете команду Key.removeListener( obj3d);
Подписка и отписка клавиатурных событий может использоваться как гибкое и мощное средство определения того, какой объект должен реагировать на клавиатурный ввод в текущий момент времени.