我有一个错误说 “尝试通过静态类型闪存的参考来尝试访问无法访问的方法旋转。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参数的旋转方法中获得错误。如此实际上..

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