![]() |
|
||||||||||
|
|
|
|||||
|
Kak sdelat' tak 4tob 2 (naprimer) objecta upravljalis' s klaviaturi nezavisimo?
Sdelal 2 Listenera 1 k kagdomu objectu, no dvigajutsja objecti vse ravno po otdelnosti. Est' li vozmognost raboti s bufferom klaviaturi? MOget ja esche 4ego-to ne dogonjau i Listener voobsche ne nugen? Pasibo vsem... |
|
|||||
|
Key.addListener(kl={});
kl.onKeyDown=function(){ switch(Key.getCode()){ case 49 : //действия по клавише('1') для mc1 mc1._x+=10; break; case 50 : //действия по другой клавише('2') для другого мувика mc2._x+=10; break; //и так далее в том же духе } } |
|
|||||
|
K sogaleniu ento ne rabotaet.... pri uderganii 2-x dlja raznix MC dvigaetsja tolko 1 object
Proboval delat dlja kagdogo objecta odelnii Listener no effect totge...vernne nikagogo effecta. Moget ja туплю? |
|
|||||
|
Регистрация: Oct 2003
Адрес: Украина, Киев
Сообщений: 44
|
Привет!
Для того что бы обрабатывались одновременное нажатие клавиш, сделай след. образом. При нажатии на клавишу устанавливай некий флаг в тру, а на мувике, напр. в ентерфрейм, стоит проверка на этот флаг и соотв. событие. Для обратного изменения делай листенер на кейУп. удачи
__________________
Удачи, Flasham |
|
|||||
|
Цитата:
пример: Key.addListener(kl={}); kl.onKeyDown=function(){ var k=Key.getCode(); if(k==49)mc1.onEnterFrame=function(){this._x+=10}; if(k==50)mc2.onEnterFrame=function(){this._x+=10}; } kl.onKeyUp=function(){ var k=Key.getCode(); if(k==49)delete mc1.onEnterFrame; if(k==50)delete mc2.onEnterFrame; } |
|
|||||
|
Rebjat, ja vot tut gljanul odin isxodnik (kak govoritsja ..vse poznaetsja v sravnenii) i tam prostoja function dlja ka*dogo objecta
function fKeyDown(){ if (Key.isDown(68)) { _root.mc._x += d; } if (Key.isDown(65)) { _root.mc._x -= d; } if (Key.isDown(87)) { _root.mc._y -= d; } if (Key.isDown(83)) { _root.mc._y += d; } } i vse rulit kak v skaske. Ja delal function s switch() & case (po-moemu ento izjaschnee... i kone4no bistree) no objecti, padla, dvigalis' tolko po o4eredi: function fKeyDown(){ switch (Key.getCode()){ case 68: _root.mc._y -= d; break; case 65: _root.mc._y += d; break; case 87: _root.mc._x -= d; break; case 83: _root.mc._x += d; break; } } Ne poimu v 4em delo... 2-oi variant i bistree i krasivshe, no sobaka ne rabotaet kak dol*no. Kto mo*et skazat v 4em xren'? |
|
|||||
|
Кстати, исключенние из порядка обработки switch'а команды break; один из вариантов условия or:
switch (Key.getCode()){ case 68: _root.mc._y -= d; case 65: _root.mc._y += d; case 87: _root.mc._x -= d; case 83: _root.mc._x += d; выполнит все проверки
__________________
судью - на мыло, из игроков - вить веревки. |
|
|||||
|
Так точно
![]()
__________________
судью - на мыло, из игроков - вить веревки. |
![]() |
Часовой пояс GMT +4, время: 13:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|