ActionScript 3.0 Вращающие изображение на 90 градусов, которое было загружено из URL

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

Вопрос

Я получил ошибку, говоря «Попытка доступа к недоступным методам вращения метода посредством ссылки со статическим типом 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)
 }
Это было полезно?

Решение

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

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

    rotation = 90;

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

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

Наконец, гарантирует, что свойство DoubleClickenabled из спрайта установлено значение true

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top