Где мне написать код для моего цикла флеш игры? - PullRequest
0 голосов
/ 28 мая 2011

Я делаю переход с Java на Flash / Actionscript, и у меня возникают трудности с выяснением, где написать свой код для цикла (или движка) флеш-игры из-за того, что у флэш-памяти есть «кадры» в отличие от Java.

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

Или мне просто нужно, чтобы игровой цикл назывался каждый кадр? Например, кадр 4 будет уровня 1, и поэтому будет вызван двигатель. И кадр 5 будет 2-го уровня, и я буду называть другой экземпляр игрового движка там. Возможно ли это сделать?

Мне просто трудно из-за "кадров". Так где же лучше всего поставить игровой цикл?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 28 мая 2011

Вы быстро научитесь избегать ошибок в кадрах, если вы серьезный инженер Java. В своем классе документов вы можете создать цикл основной игры, прослушивая Event.ENTER_FRAME:

package
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class DocumentClass extends Sprite
    {

        public function DocumentClass():void
        {
            init();
        }

        private function init():void
        {
            addEventListener(Event.ENTER_FRAME, iterate);
        }

        private function iterate(event:Event):void
        {
            // loop here
        }

    }
}

Вы также можете остановить цикл, удалив прослушиватель событий.

Для более сложных игр людям обычно требуется создать более одного слушателя ENTER_FRAME. В этом случае зачастую более эффективно использовать «тикер» или какое-либо другое устройство, которое минимизирует количество конструкций событий, выполняемых игроком.

Надеюсь, это поможет, Alec

0 голосов
/ 29 мая 2011

Например, кадр 4 будет уровня 1, и поэтому двигатель будет вызываться там. А кадр 5 будет 2-го уровня, и я буду называть там другой экземпляр игрового движка.

Возможно, но я думаю, что особенно если вы работаете с Java, вам следует избегать помещения кода во фреймы во Flash или даже использовать Flash в качестве среды разработки. Это действительно не подходит для серьезного программирования.
Flash Builder намного удобнее для разработчиков, и, основываясь на Eclipse, он, вероятно, гораздо более знаком вам.

Написание кода в кадрах на временной шкале во Flash действительно громоздко, и вам будет сложно отладить и даже найти, где находится * # @? Ваш код был, когда вам нужно что-то изменить.

0 голосов
/ 28 мая 2011

Вы также можете использовать Таймер, преимущество в том, что вы можете установить низкую частоту кадров для вашего фильма и более высокий интервал таймера, тогда, если вы обнаружите, что вам нужно перерисовать какую-то часть экрана, вы можете позвонить e.updateAfterEvent () или игнорируйте его.Таким образом вы повысите производительность, хотя вам могут не понадобиться ее преимущества, и ваша игра станет немного сложнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...