@JSlang

Страница 56 из 2237
print('hi')
01.06.2016
04:47:26
http://prntscr.com/bavo7f

а у вк тока такое

http://linewire.ru/t/TreeTest20clsess/

http://prntscr.com/bavu6i

Google
print('hi')
01.06.2016
05:14:46
гайз,чо ему не нравится?

Алексей
01.06.2016
05:16:06
а какую ошибку пишет?

print('hi')
01.06.2016
05:17:41
Алексей
01.06.2016
05:18:00
мм

так смотри

ты ниже вызываешь ф-цию keyDown

без параметра, которые в функции используется, как e

от сюда и ошибка - e == undefined, а ты еще и keyCode пытаешься получить у него

Алексей
01.06.2016
05:19:38
ну все верно

e - это объект события

print('hi')
01.06.2016
05:19:46
что?

Google
print('hi')
01.06.2016
05:19:55
как исправить?

Алексей
01.06.2016
05:20:15
нужно эту функци повесить на событие keyDown

Алексей
01.06.2016
05:20:41
повесь на весь document

document.addEventListener("keyDown", keyDown);

как нить так

только не в функции loop

а где-нить в самом начале один раз

print('hi')
01.06.2016
05:22:06
только не в функции loop
в лууп тока вызывать эту функцию?

Алексей
01.06.2016
05:22:35
мм, у тебя вона как

print('hi')
01.06.2016
05:22:39
document.addEventListener("keyDown", keyDown);
точно ты прав! Я сосем забыл!

Алексей
01.06.2016
05:22:55
кароче, тогда тебе нужно поменять подход, ты читал вообще как game loop делается?

создай какой-нить объект, например keys

там храни значения всех клавиш, которые используются для контрола, что-нить на подобии

{ "w": false, "enter": false }

в функции keyDown меняй значение нужной клавиши на true (тип нажали), а на keyUp на false ( тип отпустили)

print('hi')
01.06.2016
05:24:26
document.addEventListener('keydown',keyDown,false);

прослушку кинул

Алексей
01.06.2016
05:24:43
в самой функции loop, лишь проверяй, какие клавиши нажаты ( циклом или простыми if)

и уже если клавиша нажата, то делай, то что нужно

Google
print('hi')
01.06.2016
05:26:08
http://prntscr.com/bavwni

http://prntscr.com/bavwqr

Алексей
01.06.2016
05:26:38
перечитай еще раз, что я написал до этого)

print('hi')
01.06.2016
05:26:43
нетhttp://prntscr.com/bavwty

Алексей
01.06.2016
05:27:19
создай какой-нить объект, например keys

там храни значения всех клавиш, которые используются для контрола, что-нить на подобии

{ "w": false, "enter": false }

в функции keyDown меняй значение нужной клавиши на true (тип нажали), а на keyUp на false ( тип отпустили)

в самой функции loop, лишь проверяй, какие клавиши нажаты ( циклом или простыми if)

и уже если клавиша нажата, то делай, то что нужно

print('hi')
01.06.2016
05:32:41
http://prntscr.com/bavy5s

Алексей
01.06.2016
05:33:05
даа, в самом грубом варианте так

print('hi')
01.06.2016
05:33:15
Алексей
01.06.2016
05:33:32
ну потому что по идее, тебя на каждую клавишу проверку такую придется писать

и лучше это как нить оптимизировать

тип

print('hi')
01.06.2016
05:33:51
Google
Алексей
01.06.2016
05:34:29
if(keys[keyChar]) { keys[keyChar] = true; }

print('hi')
01.06.2016
05:34:35
http://prntscr.com/bavyfs Я же правильно к ключу обратился?

Алексей
01.06.2016
05:34:40
да

if(keys[keyChar]) { keys[keyChar] = true; }
только те кнопки, которые есть в объекте keys будут обрабатываться

остальные будут просто игнорироваться

и так не придется, для каждой кнопки писать включение/выключение

мы просто заносим кнопку в keys и все

Admin
ERROR: S client not available

Алексей
01.06.2016
05:36:19
а вот в loop уже нужно для каждой проверку отдельно писать

ну либо какие-нить алисы для функций сделать, что бы можно было в цикле проходить, если тебе последовательность не так важна

выполнения действий

print('hi')
01.06.2016
05:37:32
http://linewire.ru/t/TreeTest20clsess/

так без "е" вызывать функцию в лууп?

Алексей
01.06.2016
05:38:05
неее, в loop вообще не надо вызывать функцию

она сама будет вызываться

когда я нажму W например

ты в loop просто проверяй, нажал я w или нет

if(keys.W) { camera.position.z -=1 } как нить так

print('hi')
01.06.2016
05:38:57
неее, в loop вообще не надо вызывать функцию
блин,точно ты прав,мы же адевент лиситнеер поставилил

if(keys.W) { camera.position.z -=1 } как нить так
ещё раз точно! ты прав,надо там обновлять)

Google
print('hi')
01.06.2016
05:40:55
ты ваше прям конкретный красавчик!

респект тебе!

уряяя работает!!!

if(keys[keyChar]) { keys[keyChar] = true; }
ммм,а это не совсем понял

Алексей
01.06.2016
05:45:47
у нас ключ в keys это keyChar, поэтому просто проверяем

если мы нажали кнопку, keyChar которой есть в keys

то ставим этой кнопке true

print('hi')
01.06.2016
05:46:02
не совсем это понятно

и так не придется, для каждой кнопки писать включение/выключение

а вот в loop уже нужно для каждой проверку отдельно писать

Алексей
01.06.2016
05:46:50
в keyUp/keyDown одной строкой обходимся для включения/выключения кнопок

print('hi')
01.06.2016
05:46:51
if(keys[keyChar]) { keys[keyChar] = true; }
это в функцию кей двн и кей ап писать,верно?

Алексей
01.06.2016
05:46:56
да

print('hi')
01.06.2016
05:47:07
а если я нажму сочетание клавишь

норм будет тработатьь?

Алексей
01.06.2016
05:47:12
только в keyUp false, а не true присваиваем

print('hi')
01.06.2016
05:47:14
или ошибки полетят

Страница 56 из 2237