ActionScript3.0 URLからロードされた画像を90度回転させる
-
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が指摘しているように、MouseEventパラメーターを必要とするRotateメソッドからエラーも取得する必要があります。実質的に..
function rotate(event:MouseEvent):void
{
ssd.rotation = 90;
}
最後に、スプライトのdoubleclickenabledプロパティがtrueに設定されていることを確認します
function onLoadingComplete(event:Event):void
{
ssd.doubleClickEnabled = true;
etc....
他のヒント
やってみました ssd.rotation = 90;
?
所属していません StackOverflow