Образовательный виртуальный мир vAcademia

Инструменты пользователя

Инструменты сайта


Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

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