Actionscript 3.0 Drehen eines Bildes um 90 Grad, die von einer URL geladen wurde
-
30-09-2019 - |
Frage
Ich habe eine Fehlermeldung, „Versuchte Zugang unzugänglichen Verfahren Drehung über einen Verweis mit statischem Typ flash.display: Sprite.ssd.rotation (90)}“ Ich will nur wissen, wie mein Bild von 90Grad zu drehen, wenn ich einen Doppelklick darauf.
var shootingstar:Loader = new Loader();
shootingstar.load(new URLRequest("http://i51.tinypic.com/m8jp7m.png"));
shootingstar.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadingComplete);
var ssd:Sprite = new Sprite();
function onLoadingComplete(event:Event):void
{
ssd.addChild( event.currentTarget.loader.content );
ssd.addEventListener(MouseEvent.MOUSE_DOWN, drag);
ssd.addEventListener(MouseEvent.MOUSE_UP, drop);
ssd.addEventListener(MouseEvent.DOUBLE_CLICK, rotate)
ssd.height=180
ssd.width=124
}
function drag(event:MouseEvent):void{
ssd.startDrag()
}
function drop(event:MouseEvent):void{
ssd.stopDrag()
}
function rotate():void{
ssd.rotation(90)
}
Lösung
Der Fehler lässt vermuten, dass die Rotationsverfahren nicht zugänglich ist, das heißt, privat oder geschützt. Daher sind Sie nicht in der Lage direkt aufrufen, wie im Code Drehung (90).
Stattdessen sollten Sie die Rotation öffentliches Eigentum werden mit
rotation = 90;
Wie superfro weist darauf hin, sollen Sie auch einen Fehler aus der Dreh-Methode erhalten, die einen Parameter erfordert Mouseevent. So praktisch ..
function rotate(event:MouseEvent):void
{
ssd.rotation = 90;
}
Schließlich stellt sicher, dass die Eigenschaft des double Sprite auf true gesetzt ist
function onLoadingComplete(event:Event):void
{
ssd.doubleClickEnabled = true;
etc....
Andere Tipps
Haben Sie versucht, ssd.rotation = 90;
?