Actionscript 3.0 Rotazione di un'immagine, di 90 gradi, che è stato caricato da un URL
-
30-09-2019 - |
Domanda
ho ottenuto un errore che dice "accesso Tentativo di rotazione metodo inaccessibili attraverso un riferimento con tipo statico flash.display: Sprite.ssd.rotation (90)}" Voglio solo sapere come ruotare la mia immagine da 90degrees Facendo doppio click su di esso.
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)
}
Soluzione
L'errore suggerisce che il metodo di rotazione non è accessibile, cioè, privato o protetto. Pertanto non si è in grado di chiamare direttamente come nel codice di rotazione (90).
Invece si dovrebbe utilizzare la proprietà di rotazione pubblica
rotation = 90;
Come superfro punti, si dovrebbe anche ottenere un errore dal metodo rotate che richiede un parametro MouseEvent. Così praticamente ..
function rotate(event:MouseEvent):void
{
ssd.rotation = 90;
}
Infine, fa in modo che la proprietà doubleClickEnabled della Sprite è impostata su true
function onLoadingComplete(event:Event):void
{
ssd.doubleClickEnabled = true;
etc....
Altri suggerimenti
Hai provato ssd.rotation = 90;
?