尝试访问flashpunk中的图像属性时出错1119?

时间:2014-06-10 23:45:02

标签: actionscript-3 flash actionscript flash-builder

我创建了一个新实体,并将实体图形定义为嵌入图像文件中的新图像。

graphic = new Image(PLAYER);

PLAYER是一个嵌入式图像,现在因为图形现在是这个图像,我应该可以做像centerOrigin()或angle()这样的东西,但我不能呢?它在Flash IDE中工作但现在我已经切换到使用flashpunk的Flash Builder,它给了我一个错误1119,无法通过静态类型net.flashpunk:Graphic访问属性centerOrigin()。

我做错了什么?许多教程都说它应该有效。如果它应该工作,但问题是环境而不是我的程序,什么是解决方法?

这是我的实际代码:

public class Projectile extends Entity{

    public var bearingIN:Number;
    public var speedIN:Number;

    public function Projectile(bearing,speed,gunX,gunY) {
        setHitbox(2,2);
        bearingIN = bearing;
        speedIN = speed;
        graphic = new Image(new BitmapData(8,1,false,0xFFFF32));
        type = "projectile";
        graphic.centerOrigin();
        graphic.angle = (bearing / (Math.PI/180))*-1;
        layer = 255
        x = gunX + 16;
        y = gunY + 16;
        addTween(new Alarm(20,removeProj,2), true);
    }

    private function removeProj(){
        FP.world.remove(this);
    }

    public override function update():void{
        x += Math.cos(bearingIN)*speedIN;
        y += Math.sin(bearingIN)*speedIN;
        if(collide("wall",x,y)){
            removeProj();
        }
    }

}

1 个答案:

答案 0 :(得分:0)

Entity类的graphic属性属于Graphic类型。但是,Graphic类没有centerOrigin只有Image的方法。所以你需要施展它。对centerOrigin()

的行执行此操作
((Image)graphic).centerOrigin();

你也必须为angle做同样的事情。