ActionScript 3.0 Вращающие изображение на 90 градусов, которое было загружено из URL
-
30-09-2019 - |
Вопрос
Я получил ошибку, говоря «Попытка доступа к недоступным методам вращения метода посредством ссылки со статическим типом 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;
?