Autor | Zpráva | ||
---|---|---|---|
kokohnat Profil * |
Zdarec lidi. Potřeboval bych pomoc. Právě jsem dodělal dva movie clipy které se pohybují stisknutím kláves.
(pokouším se udělat jednoduchou aplikaci pro dvě osoby, kde každý má svého panáčka a chodíxD) Jeden z nich se pohybuje pomocí šipek. A druhý pomocí kláves W,S,A,D. Napsal jsem to s podmínkama a Key.isDown. (viz.zde) if(Key.isDown(89)) { ..._y -= 2 ...} To by bylo ještě v pohodě, kód fachá... Ale pokud se stiskne více jak dvě klávesy, tak se oba movieclipy zaseknou. :D Vše funguje opět normálně, když se více kláves pustí. Není nějaký způsob jak tohle zasekávání vyřešit? DÍKY za každou odpověď |
||
kokohnat Profil * |
#2 · Zasláno: 8. 11. 2008, 12:58:51
jinak pokud někdo ví a chtěl mi pomoct, tak můj mail je: kokohnat@seznam.cz
|
||
grimword Profil |
#3 · Zasláno: 8. 11. 2008, 14:17:55
definujes, co se ma stat pokud je zmacknuta sipka nahoru, definujes co se ma stat pokud je zmacknuta sipka dolu, definujes co ma stat pokud zmacknes obe dve sipky najednou? nikdy jsem v tom neprogramoval, ale mozna by tady toto mohl byt problem :)
|
||
Steve Profil |
#4 · Zasláno: 8. 11. 2008, 18:30:54
vzhledem k tomu, že jsi nenapsal větší kus kódu, tak musím souhlasit s grimwordem... pokud máš podmínky stylem if(){}else if(){}... atd. tak je problém právě na tomhle místě.... musíš mít ty podmínky způsobem if(){} if(){}... atd, abys dosáhl toho, že se ti bude vyhodnocovat i více věcí najednou.
|
||
kokohnat Profil * |
#5 · Zasláno: 8. 11. 2008, 22:20:45
bohužel v tomhle problém není :(, jelikož mám všechno na if, if, if ... je tam čistě problém v tom, že je to omezený pouze pro stisk maximálně dvou kláves
jinak díky za rychlou odpověď xD zde je celý kód: onClipEvent (enterFrame) { if (Key.isDown(Key.RIGHT)) { _x += 12; gotoAndStop(2); } if (Key.isDown(Key.LEFT)) { _x -= 12; gotoAndStop(3); } if (Key.isDown(Key.UP)) { _y -=12; gotoAndStop(4); } if (Key.isDown(Key.DOWN)) { _y += 12; gotoAndStop(1); } //tahle cast kodu je k tomu, aby se pri stretu movieclipy od sebe odrazilyˇ if (_root.jedna.hitTest(this._x+(this._width/2), this._y, false)) { _root.jedna._x += 12; } if (_root.jedna.hitTest(_x-(_width/2), _y, true)) { _root.jedna._x -= 12; } if (_root.jedna.hitTest(_x, _y+(_height/2), true)) { _root.jedna._y += 12; } if (_root.jedna.hitTest(_x, _y-(_height/2), true)) { _root.jedna._y -= 12; } } |
||
Časová prodleva: 6 dní
|
|||
kokohnat Profil * |
#6 · Zasláno: 14. 11. 2008, 13:37:58
to se tu nenajde nikdo kdo by mohl pomoc? :(
|
||
Časová prodleva: 4 dny
|
|||
FlashManiac Profil |
#7 · Zasláno: 18. 11. 2008, 13:22:52
if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
_y += 12; gotoAndStop(1); } a stejne udelat i ty dalsi sikme smery |
||
kokohnat Profil * |
#8 · Zasláno: 20. 11. 2008, 18:46:50
díky, zkusím to
|
||
Časová prodleva: 15 let
|
0