Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 如何使用AS3从Movieclip访问另一个Movieclip?_Flash_Actionscript 3 - Fatal编程技术网

Flash 如何使用AS3从Movieclip访问另一个Movieclip?

Flash 如何使用AS3从Movieclip访问另一个Movieclip?,flash,actionscript-3,Flash,Actionscript 3,我正在用FlashCS4和ActionScript3.0创建一个游戏 我正在通过AS3代码添加所有图形。我在主游戏类中添加了我的英雄(电影剪辑实例)。在我的敌人类(movieclip)中,我想制作一个通用AI,它将检查英雄与敌人的距离。我尝试了各种方法,但我不确定如何从我的敌人电影剪辑中的代码正确访问我的英雄的X位置 我试着使用诸如:hero.x,GAMENAME.hero.x和parent.hero.x之类的东西来访问它,但是不断地出现错误。我不太确定我需要在这里做什么 我的问题是:“当fl

我正在用FlashCS4和ActionScript3.0创建一个游戏

我正在通过AS3代码添加所有图形。我在主游戏类中添加了我的英雄(电影剪辑实例)。在我的敌人类(movieclip)中,我想制作一个通用AI,它将检查英雄与敌人的距离。我尝试了各种方法,但我不确定如何从我的敌人电影剪辑中的代码正确访问我的英雄的X位置

我试着使用诸如:hero.x,GAMENAME.hero.x和parent.hero.x之类的东西来访问它,但是不断地出现错误。我不太确定我需要在这里做什么



我的问题是:“当flash制作我的项目时,我如何访问我的主类”。我仍然不知道如何创建一个基本的敌方AI,但我没有像你想象的那样通过敌方类来控制它,而是通过我的项目创建的主类将值发送到敌方类中的方法。

你可以检查英雄的x位置到他/她的敌人.x位置的距离

试试这样的

var dx:Number = item.x-item2.x;
var dy:Number = item.y-item2.y;

if (Math.sqrt(dx*dx+dy*dy) < what_ever_distance) {
   //do something
}
var dx:Number=item.x-item2.x;
变量dy:Number=item.y-item2.y;
if(Math.sqrt(dx*dx+dy*dy)
AI确实是一门非常复杂的学科。你应该提供更多关于你的项目结构的信息,因为现在你所拥有的是不可能猜到的。你能给我们展示一些关于如何以及在哪里添加你的英雄和敌人的代码示例吗?如果你在舞台上添加了英雄,你应该可以通过hero.x和hero.y获得它的位置。