所以例如,我有三个名为'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;
}
Run Code Online (Sandbox Code Playgroud)
我使用此代码在另一个名为Helicopter.as的文件中使用API绘制了所谓的"直升机"^.
graphics.beginFill(0x00FF00);
graphics.drawCircle(0, 60, 35);
graphics.endFill();
Run Code Online (Sandbox Code Playgroud)
但是,我最初在Helicopter.fla文件中绘制了"Helicopter"符号(我现在删除了),现在我使用API绘制了"直升机",我得到了这个错误;
''1067: Implicit coercion of a value of type Class to an unrelated type flash.display:DisplayObject.''
Run Code Online (Sandbox Code Playgroud)
Flash无法识别原始的直升机符号(在Helicopter.fla文件中,因为我删除了它).但我希望系统检测使用API绘制的"圆圈"(在Helicopter.as文件中).我不知道如何命名API绘制的圆'直升机',因此我收到一个错误.那么我如何将API圈命名为'Helicopter',以便Game.as文件识别它.如果你不知道我在说什么,那就别担心,因为我也不知道.谢谢.如果你愿意,我可以粘贴到目前为止我所做的所有代码.
Helicopter是一个类而不是变量,因此您无法分配Helicopter.x.您需要创建一个变量var heli:Helicopter = new Helicopter();并使用heli.x
它也可能是你没有遵循编程标准,Helicopter实际上是一个变量而不是一个类,尽管错误似乎表明不是这样.