用于检查欺骗/多个mc的命令

时间:2010-04-28 02:23:42

标签: actionscript actionscript-2

目前我正在开发平台类型的游戏。我有一个for循环来检查天气或不是球员脚接触地面。我有这个;

for (i=0; i<5; i++) { //There are 5 floors
    if (this.feet.hitTest(_root["g"+i])) {
        _root.mc.groundTouch = true; //triggers the mc falling
    }
}

只有当其中一个楼层存在时才能正常工作(IE如果floor1在舞台上,但是floor2-5不在舞台上);所以试着反击它我尝试使用;

for (i=0; i<5; i++) {
    if (this.feet.hitTest(_root["floor"+i])) {
        _root.mc.groundTouch = true; //triggers the mc falling
    }
    if (!this.feet.hitTest(_root["floor"+i])) {
        _root.mc.groundTouch = false;
}
}

这显然不起作用,因为为了使其正常运行, _root.mc.feet 必须触及所有5个“floor”实例。

所以我的问题是;
如果 _root.mc.feet 触及任何楼层实例,我如何获取 _root.mc.groundTouch = true 的代码,但请 _root。 mc.groundTouch = false 只有在没有触及任何楼层实例的情况下?


我知道,如果我真的想要,我可以做一些像

这样的事情
if (_root.mc.feet.hitTest(_root.floor1) && !_root.mc.feet.hitTest(_root.floor2) && etc)

但是为了节省自己的时间,并且让自己能够添加楼层而不会更改 i&lt; 5 到我所拥有的楼层数量,我更希望有一种更简单的方法可以做些什么来做with for循环。

提前感谢您,非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

_root.mc.groundTouch = false;
for (i=0; i<5; i++) { //There are 5 floors
    if (this.feet.hitTest(_root["g"+i])) {
        _root.mc.groundTouch = true; //triggers the mc falling
    break;
    }
}


if (_root.mc.groundTouch) // you are touching one or more of the floors