Actionscript 3.0将图像旋转90度,从网址加载

时间:2010-11-10 04:48:14

标签: actionscript-3 image rotation degrees

我收到错误提示“尝试通过静态类型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 个答案:

答案 0 :(得分:3)

该错误表明旋转方法无法访问,即私有或受保护。因此,您无法像在代码轮换中那样直接调用它(90)。

相反,您应该使用轮换公共属性

    rotation = 90;

正如superfro指出的那样,你也应该从rotate方法中得到一个错误,它需要一个MouseEvent参数。实际上...... ..

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

最后,确保Sprite的doubleClickEnabled属性设置为true

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

答案 1 :(得分:0)

您是否尝试过ssd.rotation = 90;