【发布时间】:2011-09-28 14:46:24
【问题描述】:
我在我的 flash as3 虚拟池塘中设计“游戏”循环时遇到问题,目前我有以下 enter_frame 循环。在我的“池塘”父容器中,会有任意数量的“鱼”对象和“食物颗粒”对象。目前在我的循环功能中,当两个或更多食物放在鱼附近时,鱼不会移动有谁知道为什么会发生这种情况?
下面的代码在我的“鱼”类中,updatePosition() 只是告诉鱼像鱼一样游来游去。
public function loop(e:Event):void
{
//getDistance(this.x - i.x, this.y - i.y)
if(foodDroppedArray.length > 0)
{
for each (var i:Food in foodDroppedArray)
{
if (getDistance(this.x - i.x, this.y - i.y) < 100)
{
this.moveToFood(i);
}else {
updatePosition();
}
}
}else
{
updatePosition();
}
}
【问题讨论】:
-
这还不足以说明问题所在。您是否尝试过调试代码,例如跟踪条件中的某些内容(因此必须调用的函数是否正确调用)?
-
嗨,我没有发布整个课程,因为我担心它会太长。
-
另一方面,考虑重命名该函数,循环是一个糟糕的函数名称。尝试更新、handleUpdate(因为它是一个事件处理程序)甚至是 handleEnterFrame
标签: flash actionscript-3