Создание игры с падающими случайными объектами с помощью ActionScript 3.0

#actionscript-3 #flash-cs5

#actionscript-3 #flash-cs5

Вопрос:

Я пытаюсь создать игру, которая будет имитировать продукты, спускающиеся с конвейерной ленты. Игрок выступает в роли упаковщика и должен щелкнуть и перетащить продукты в определенные пакеты (один для холодной еды и один для не холодной еды). При правильном выборе еда исчезнет, а счет увеличится на 1.

Я был ошеломлен, думая о том, как это сделать, и не нашел полезных ответов, которые действительно работают, когда я пытаюсь их скомпилировать, поэтому я решил спросить.

Может кто-нибудь предложить способ или показать мне, как я могу заставить случайные продукты падать с экрана? Я предположил, что могу создать массив видеороликов и вызвать их для случайного падения, но я не уверен, как это будет работать.

Спасибо.

Комментарии:

1. Людям сложно дать точные ответы, поскольку мы не видим, что вы пробовали. Способ, которым я бы это сделал, — создать массив случайных элементов. Каждый элемент в массиве является экземпляром класса, который описывает продуктовый магазин (название, холодный / не холодный и т.д.). Это будет примерно часть данных, представление будет выглядеть так, как описано (конвейерная лента), но функционировать во многом как компонент с циклической каруселью, но для удаления элемента из него используется перетаскивание. Часть контроллера обновит модель / данные другим случайным элементом, вызванным удалением элемента. При выпадении предмета проверьте сумки / обновите список / и т. Д.

2. Да, я прошу прощения за то, что не сказал, что я пробовал. Я избегал этого, потому что я начинающий программист AS3, и то, что я пробовал до сих пор, кажется мне совершенно непонятным, и я понял, что другие. Я пробовал просто помещать разные объекты на экран и заставлять их падать вниз с помощью addChild(bread); bread . y = 1; Я смог заставить startDrag и stopDrag работать так же, как и столкновение с объектом bag. Я просто хотел найти способ заставить больше объектов падать случайным образом через случайные промежутки времени. Я просто не знаю, как заполнить его и заставить его различать холодные / не предметы.

Ответ №1:

Я не могу написать всю игру за вас, но это не так сложно. Я получил небольшой фрагмент кода, который показывает использование MovieClips в массиве. Вы могли бы что-то с этим сделать. Код не тестировался, и есть некоторые значения, которые вы должны исправить.

Пожалуйста, дайте мне знать, если это было полезно. Я часто использую это в своих играх. Это простой способ справиться с большим количеством пуль / врагов и бонусов 😉

     var groceries:Array = new Array();

    function grocerieCreate(enemy,shotType):void {

    var grocerieNew:MovieClip;

    grocerieNew = new grocerieMovieClip();
        grocerieNew.x = [Random X];
        grocerieNew.y = 0;

    addChild(grocerieNew);

    grocerieNew.addEventListener(Event.ENTER_FRAME, grocerieMove);

}

function grocerieMove(e:Event):void {

    if (e.target.y < [GROUND Y]) {          
        e.target.y   ;          
    }

}

function grocerieRemove(e:Event):void {

    for (var counter:int = groceries.length - 1; counter >= 0; counter--) {

        var thisGrocerie:MovieClip = groceries[counter];

        groceries.splice(counter,1);
        removeChild(thisGrocerie);
    }

}
  

Комментарии:

1. Спасибо за помощь. Это определенно полезный способ сделать то, что я пытаюсь, и он привел меня в нужном направлении.

2. Очень приветствуется. Box2D тоже классно использовать, но я думаю, что в данном случае это будет немного излишне. Но это мое мнение. Удачи!

Ответ №2:

Чтобы получить реалистичные падающие объекты, используйте Box2D, физический движок AS3. Это хорошо документировано, и существуют буквально тысячи руководств для начинающих.

РЕДАКТИРОВАТЬ: Вот отличный учебник для абсолютных новичков по Box2D в блоге Эмануэле Феронато. Загляните в этот блог, там много руководств по разработке игр, которые могут вам помочь.

Комментарии:

1. Вау … эти уроки великолепны. Спасибо за ответ.

2. Пожалуйста, обратите внимание, что это руководство работает только со старой версией box2d версии 2.02