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)
 }
War es hilfreich?

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;?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top