例如,我有三个名为'Helicopter.as,Game.as,Blue.as'的.as文件 而且我还有一个名为Helicopter.fla的.fla文件(这些文件都假设连接在一起,以制作直升机游戏)。在Game.as文件中,我有以下内容;
if (blue1.hitTestObject(Helicopter))
{
trace("YOU HIT THE BLOCK!");
Helicopter.x = 76;
Helicopter.y = 217;
}
我使用此代码在另一个名为Helicopter.as的文件中使用API绘制了所谓的'Helicopter'^;
graphics.beginFill(0x00FF00);
graphics.drawCircle(0, 60, 35);
graphics.endFill();
但是,我最初在Helicopter.fla文件中绘制了“Helicopter”符号(我现在删除了),现在我使用API绘制了“Helicopter”,我收到了这个错误;
''1067: Implicit coercion of a value of type Class to an unrelated type flash.display:DisplayObject.''
Flash无法识别原始的直升机符号(在Helicopter.fla文件中,因为我删除了它)。但我希望系统检测使用API绘制的“圆圈”(在Helicopter.as文件中)。我不知道如何命名API绘制的圆'直升机',因此我收到一个错误。那么我如何将API圈命名为'Helicopter',以便Game.as文件识别它。如果你不知道我在说什么,那就别担心,因为我也不知道。谢谢。如果你愿意,我可以粘贴到目前为止我所做的所有代码。
答案 0 :(得分:5)
Helicopter
是一个不是变量的类,因此您无法分配Helicopter.x
。您需要创建变量var heli:Helicopter = new Helicopter();
并使用heli.x
它也可能是你没有遵循编程标准,Helicopter
实际上是一个变量而不是一个类,尽管错误似乎表明不是。