一个寻找随机目标的函数

函数 findRandomtarget(target){

var targetarray = []; //定义一个空数组

with (target) { //将 target 对象中的内容用作作用域

    if (state != characterstates.dead) { //检查 target 是否存活

        targetarray.push(id) //将 target 的 id 添加到数组中

    }

    global.debug = targetarray + "" + target //用于调试

    return targetarray[irandom_range(0, array_length(targetarray)-1)] //返回数组中的随机 id

}

}

上述函数是我使用的用于游戏中的一个函数,用于找到目标 (object_index),将每个目标实例的 id 添加到数组中。之后函数会随机返回数组中的一个 id。

问题是,即使有多个目标实例,但数组中仍然只有一个 id。数组中 id 的值是覆盖之前的值,而不是追加新的值。这个问题与目标实例的数量没有关系,目标也总是获得正确的 object_index,房間中的目标实例都会被激活。这个问题与函数所在的对象是否拥有相同的 object_index 也没有关系。

任何帮助都非常感谢!