Actionscript 3.0 Поворот изображения на 90 градусов, загруженного с URL - PullRequest
0 голосов
/ 10 ноября 2010

Я получил сообщение об ошибке "Попытка доступа к вращению недоступного метода через ссылку со статическим типом flash.display: Sprite.ssd.rotation (90)}" Я просто хочу знать, как повернуть мое изображение на 90 градусов, когда я дважды щелкаю по нему.

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)
 }

Ответы [ 2 ]

3 голосов
/ 10 ноября 2010

Ошибка предполагает, что метод ротации недоступен, т. Е. Закрыт или защищен.Поэтому вы не можете вызывать его напрямую, как в вашем коде вращения (90).

Вместо этого вы должны использовать открытое свойство вращения

    rotation = 90;

Как указывает суперфро, вы должнытакже получить ошибку от метода rotate, который требует параметр MouseEvent.Так что практически ..

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

Наконец, убедитесь, что свойство doubleClickEnabled в Sprite установлено в true

function onLoadingComplete(event:Event):void
{
   ssd.doubleClickEnabled = true;
   etc....
0 голосов
/ 10 ноября 2010

Вы пробовали ssd.rotation = 90;?

...