2012-04-04 8 views
1

Dies sind die zwei Fehler;"if (MouseEvent.CLICK = true)" Fehler in Actionscript 3?

1067: Implizite Koerzition eines Werts vom Typ Boolean auf einen nicht verwandten Typ String.

1049: Ungültige Zuweisung zu einer Variablen, die als Konstante angegeben ist.

Ich will es im Grunde setzen, so, wenn Maus

die -y Geschwindigkeit von Symbol Hubschraubern = Variable 'Geschwindigkeit' Jede Hilfe

ist klicken? Danke

+2

Ist das nicht sein soll '==' im Vergleich statt '=' Operator? – Mahesh

Antwort

4

Dieser Test bedeutet nichts: MouseEvent.CLICK ist eine Konstante und sein Wert ist immer"click". So wird (MouseEvent.CLICK) immer true sein (das Testen eines Strings gibt true zurück, wenn dieser String nicht null ist).

Um zu überprüfen, ob die Maus nach unten, man so etwas schreiben soll:

var mouseDown:Boolean; 
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); 
addEventListener(MouseEvent.MOUSE_UP, onMouseUp); 
addEventListener(Event.ENTER_FRAME, onEnterFrame); 


function onMouseDown(event:MouseEvent):void 
{ 
    mouseDown = true; 
} 

function onMouseUp(event:MouseEvent):void 
{ 
    mouseDown = false; 
} 

function onEnterFrame(event:Event):void 
{ 
    if (mouseDown) 
    { 
    helicopter.y += speed; 
    } 
    else 
    { 
    //maybe fall? 
    } 
} 
+0

Wirklich hilfreich. Vielen Dank. – Adzi

+0

Gern geschehen, bitte bestätigen Sie die Antwort. – Kodiak