我有一个敌人击中了一堆瓷砖,如果敌人击中它们,我会通过一个循环检查所有瓷砖。我追踪它们,有些人会告诉我这是真的还是假的。我希望能够让敌人从那些真实的东西中随机选择,然后继续那些瓷砖。它跟踪与敌人接触的所有瓷砖,问题是,我不确定如何将那些注册为真实的瓷砖放入自己的数组中,然后让敌人随机移动到这些瓷砖中。
for (var j:int = 0; j < tileset.length; j++){
trace(tileset[j].currentFrameLabel, tileset[j].hitTestObject(enemy));
if (tileset[j].hitTestObject(enemy) && !tileset[j].hitTestObject(player)){
options.push(Boolean(true));
}
编辑:这是我的计时器功能,每 5 秒,我希望敌人移动到可用的瓷砖。虽然你看不到tileset,但它是一个数组,等于movieclip,它是一个tile,它本身就在一个for循环中。所以基本上,tileset 是 49 个 tile 的影片剪辑。我将那些可用的图块推入另一个数组,即选项。然后我创建了一个名为enemyPick 的变量作为计数器。这就是我有多远。
function timerenemy (event:TimerEvent) {
var options:Array = [];
for (var j:int = 0; j < tileset.length; j++){
if (tileset[j].hitTestObject(enemy) && ! tileset[j].tileMiddle.hitTestObject(player)) {
//trace(tileset[j].currentFrameLabel, tileset[j].hitTestObject(enemy));
tileset[j].outline.gotoAndStop("attack");
options.push(tileset[j]);
}
if (options.length > 0){
var enemyPick:int = Math.floor(Math.random()*options.length)
}
}
trace(enemyPick, options);
}