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 *
jinak pokud někdo ví a chtěl mi pomoct, tak můj mail je: kokohnat@seznam.cz
grimword
Profil
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
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 *
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;
    }
	}
kokohnat
Profil *
to se tu nenajde nikdo kdo by mohl pomoc? :(
FlashManiac
Profil
if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
_y += 12;
gotoAndStop(1);
}

a stejne udelat i ty dalsi sikme smery
kokohnat
Profil *
díky, zkusím to

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: