Спасибо за помощь

Код AS3:
var obj1:Array= new Array(); // Тут будут хранится все объекты которые мы видим на сцене
var obj2:Array= new Array(); // Тут только те, которые имеют класс Stone - это наши столбы, камни
for (var i:int = 0; i< this.numChildren; i++) // Проходим все дочернии объекты, если встречается объект класса Stone - закидываем его в массив obj2 с которым и будем работать
{
obj1[i] = this.getChildAt(i);
if (obj1[i] is Stone)
{
obj2.push(obj1[i]);
}
}
var vr:Number = cycle.y;
stage.addEventListener(Event.ENTER_FRAME,onFrameLoop);
function onFrameLoop(evt:Event):void
{
cycle.x = mouseX;
cycle.wheel.rotation = mouseX;
for (var j:int = 0; j< obj2.length; j++){
if (cycle.hitTestObject(obj2[j]))
{
cycle.y = vr - obj2[j].height;
break;
}
else
{
cycle.y = vr;
}
}
}
Цитата:
|
и пройденные столбы из массива выкидывайте
|
Вот тут даже не знаю или стоит делать, а если и стоит - то как реализовать, потому что велосипед ездит как вперед так и назад, и он может снова наехать на столб.
П.С. Да, это самый "прямой метод" над которым я и сначала думал, но... он очень ресурсозатратный, с каждым кадром нужно проходить цикл...
Можно ли как то реализовать столкновение как тут
cycle.hitTestObject(st), но не с конкретным объектом
st , а с классом объектов, например с классом
Stone ?