Actionscript 3.0 Rotation d'une image, par 90 degrés, qui a été chargé à partir d'une URL

StackOverflow https://stackoverflow.com/questions/4141309

Question

J'ai eu une erreur en disant "Tentative d'accès de rotation de la méthode inaccessible par une référence avec flash.display de type statique: Sprite.ssd.rotation (90)}" Je veux juste savoir comment faire pivoter mon image par 90degrees quand je double-cliquez dessus.

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)
 }
Était-ce utile?

La solution

L'erreur suggère que la méthode de rotation n'est pas accessible, i.e., privé ou protégé. Par conséquent, vous n'êtes pas en mesure d'appeler directement dans votre rotation de code (90).

vous devriez plutôt utiliser la rotation propriété publique

    rotation = 90;

Points, vous devriez également obtenir une erreur de la méthode rotate qui nécessite un paramètre MouseEvent. Donc, pratiquement ..

function rotate(event:MouseEvent):void
{
   ssd.rotation = 90;
}

Enfin, fait en sorte que la propriété doubleClickEnabled du sprite est définie sur true

function onLoadingComplete(event:Event):void
{
   ssd.doubleClickEnabled = true;
   etc....

Autres conseils

Avez-vous essayé ssd.rotation = 90;?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top