movement problem

antiheld2000

New member
wenn ich <pfeiltaste links> drücke, soll ein spezifischer mc abgespielt werden.
wenn ich <pfeiltaste rechts> drücke, soll ein derselbe mc abgespielt werden.
ist keine dieser beiden tasten gedrückt, soll der mc gestoppt werden.
versucht habe ich es so:
PHP:
onClipEvent (enterFrame) {
if ((Key.isDown(39)) && (!Key.isDown(37))) {
		this.ca.play();
		this._xscale = -100;
		x = (x+5);
	} else {
		this.ca.gotoAndStop(5);
	}
	if ((Key.isDown(37)) && (!Key.isDown(39))) {
		this.ca.play();
		this._xscale = 100;
		x = (x-5);
	} else {
		this.ca.gotoAndStop(5);
	}
}
klappt nicht, der mc wird gar nicht abgespielt. kommentiere ich das else aus, läuft der mc die ganze zeit. ich hab n brett vorm kopf. hilfe! fällt jemandem was ein?
 
ähmm ich dachte für Key Events gäbe es eigene Event Handler, so wie z.B. KeyDown und KeyUp..... hast Du es mal damit versucht?
 
brett 1 is weg, nur leider läuft der mc dann auch die ganze zeit, weil sich die beiden AS in die haare kriegen... ????
 
Wie läuft denn das mit dem logischen NOT? Ist eine der 4 Bedingungen nicht immer wahr? Oder bedeutet das nicht "wenn Key nicht gedrückt ist", also immer, wenn nichts gedrückt ist.. (stuss rede)
wie wärs mal mit nem flash? :)

Ach, ist ja quatsch, ist ja n && dazwischen.

Kann es sein, daß Du die zweite Bedingung in ein else if bringen mußt, also daß Du nur ein else hast?
- falls keyA ist unten UND KeyB ist oben tue dasunddas
ansonsten falls genau umgekehrt
ansonsten mach stop.

also.. naja.
 
Zuletzt bearbeitet:
Hmm also On KeyDown wird ausgelöst, wenn eine Taste gedrückt wird, On KeyUp, wenn die Taste wieder losgelassen wird, bzw. eine Taste losgelassen wird.
Du solltest Deine ifs also dementsprechend anpassen....
 
komm ich nicht hinter.... du meinst diesen kram, oder?
PHP:
meinListener = new Object();
meinListener.onKeyDown = function () {
  trace ("Sie haben eine Taste gedrückt.");
}
meinListener.onKeyUp = function () {
  trace ("Sie haben eine Taste losgelassen.");
}
Key.addListener(meinListener);
wie kann ich dem jetzt sagen, welche taste gemeint ist? ich blick heute gar nix,....
 
Ich benutze folgenden Code (hab ihn in eine movie-clip instanz reingetan):

onClipEvent (keyUp) {

if (Key.getCode() == 27) {
_root.gotoAndPlay(1);
}
if (Key.getCode() == 39) {
_root.moveleft = false;
}
if (Key.getCode() == 37) {
_root.moveright = false;
}
if (Key.getCode() == 32) {
_root.shooting = false;
}
}
onClipEvent (keyDown) {
if (Key.getCode() == 39) {
_root.moveleft = true;
}
if (Key.getCode() == 37) {
_root.moveright = true;
}
if (Key.getCode() == 32) {
_root.shooting = true;
}
}

In der Root-ebene habe ich all die variablen und falls eine auf true ist wird eine entsprechende Aktion ausgeführt, das ist der beste weg um die eingabe smooth zu haben
 
vielen dank, aber ich bin einfach manchmal zu hohl. die lösung, um meinen ansatz so fortzuführen ist ganz simple:
PHP:
if ((!Key.isDown(37)) && (!Key.isDown(39))) {
		this.ca.gotoAndStop(5);
	}
*auffeStirnKlatsch*
 
Zurück
Oben