Для команд, чтобы проверить дублированные / множественные MC - PullRequest
0 голосов
/ 28 апреля 2010

В настоящее время я работаю над игрой типа платформы. У меня есть петля 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
    }
}

Это прекрасно работает, только если один из этажей существует (например, если 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.groundTouch = true , если _root.mc.feet касается любого экземпляра этажа, но сделать _root.mc. groundTouch = false только если его не касается ни один из экземпляров этажа?


Я знаю, что если бы я действительно хотел, я мог бы сделать что-то вроде

if (_root.mc.feet.hitTest(_root.floor1) && !_root.mc.feet.hitTest(_root.floor2) && etc)

Но чтобы сэкономить время и дать себе возможность добавлять этажи, не меняя больше, чем i <5 </strong> на количество этажей, я предпочел бы более простой метод, надеюсь, что-то делать с для петель.

Заранее спасибо, и ваша помощь очень ценится

1 Ответ

0 голосов
/ 29 апреля 2010
_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
...