Эй, теперь все так были на этом некоторое время. Поэтому в основном я создаю игру, где объекты падают с вершины сцены, и как только игрок ловит один объект, я хочу, чтобы другие объекты могли складываться поверх первого объекта и продолжать идти и двигаться. Подобно тому, как вы складываете блоки друг на друга или что-то в этом роде.Как сделать видеоролики в массиве Стек поверх друг друга?
У меня есть массив, где я держу клип, который выпадает из верхней части сцены каждые промежутки секунд. Мувиклип называется acorn
и вот как у меня есть его установки, где массив желудей находятся на стадии падения:
private function addAcorn():void
{
TweenLite.delayedCall(acornNumber, addAcorn);
var newAcorn = new mcAcorn;
addChild(newAcorn);
aAcornArray.push(newAcorn);
}
в моем блоке Кадр прослушивателя событий У меня есть мой checkAcornHitSquirrel();
и здесь как я настройка функции:
private function checkAcornHitSquirrel():void
{
for (var i:int = 0; i < aAcornArray.length; i++)
{
var currentAcorn:mcAcorn = aAcornArray[i];
if (currentAcorn.hitTestObject(squirrel))
{
//Have Current Acorn Stack on Squirrel mouth and have mouth expand
acorn = currentAcorn;
currentAcorn.addEventListener(Event.ENTER_FRAME, trackAcorn);
//aAcornArray.splice(i, 1);
trace("SQUIRREL_ACORN_HIT_TEST");
}
}
}
у меня есть событие Enter кадров trackAcorn
так, когда игрок перемещает желуди двигаться с игроком. Вот эта функция:
private function trackAcorn(e:Event):void
{
acorn.x = squirrel.x;
acorn.y = squirrel.y - 50;
}
Так что моя основная идея, чтобы сделать это будет иметь двойной цикл вместо 1 для цикла. Но не уверен, что это будет лучший метод или как это сделать. Пожалуйста, если вы поймете, что я пытаюсь сделать, и могу помочь, я бы очень признателен.
Это то, что я пробовал, но только два желуди укладывают друг на друга другие проходят тщательный:/
private function checkAcornHitSquirrel():void
{
for (var i:int = 0; i < aAcornArray.length; i++)
{
var currentAcorn:mcAcorn = aAcornArray[i];
for (var j:int = 0; j < aAcornArray.length; j++)
{
var stackAcorn:mcAcorn = aAcornArray[j];
if (currentAcorn.hitTestObject(squirrel))
{
//Have Current Acorn Stack on Squirrel mouth and have mouth expand
currentAcorn.x = squirrel.x;
currentAcorn.y = squirrel.y;
currentAcorn.stopAcorn();
//aAcornArray.splice(i, 1);
trace("SQUIRREL_ACORN_HIT_TEST");
}
if (currentAcorn.hitTestObject(stackAcorn) && currentAcorn.hitTestObject(squirrel))
{
stackAcorn.x = currentAcorn.x;
stackAcorn.y = currentAcorn.y - 30;
}
}
}
}
Как вы могли бы уложить в белки рты так много желудей? – harilalkm
Ха-ха. Если есть воля, есть способ. – Nathan
Так много новичков не понимают, насколько важны и полезны DisplayObjectContainer. Создайте простой спрайт, добавьте его в свой squirel, а затем просто добавьте свой желудь в этот спрайт. Нет необходимости в enterframe, нет необходимости в вычислении или цикле. – BotMaster