Проблема Flash-сцены - PullRequest
       2

Проблема Flash-сцены

1 голос
/ 03 июля 2011

У меня проблема с некоторыми флеш сценами.Я никогда не сталкивался со вспышкой раньше, и мне нужно сделать игру для кого-то, и я ударил это.Я хотел иметь 2 сцены, одну со стартовым меню, а другую - с самой игрой.Первый вопрос, так ли это обычно делается?Во-вторых, я не знаю, если это то, что обычно делают в сценах, но с двумя там, он мигает между двумя сценами, и если я нажимаю ввод, он останавливается на любой сцене, это было с совершенно новымпроект, так что там вообще нет никакого кода.Если у вас есть где-нибудь, вы можете указать мне, дайте мне знать.Заранее спасибо!

WWaldo

Ответы [ 2 ]

1 голос
/ 03 июля 2011

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

public static const STATE_SCENE_1:int = 10; 
public static const STATE_SCENE_2:int = 20; 
public static const STATE_GAME_OVER:int  = 30; 
public var gameState:int = 0; 

Далее вам нужно переключить игровые состояния (например, из меню в игру), лучше всего использовать основную игруloop:

public function gameLoop(e:Event):void { 
      switch(gameState) {   
         case STATE_SCENE_1 : 
            initScene1();   
            break 
         case STATE_SCENE_2:   
            initScene2(); 
            break; 
         case STATE_GAME_OVER: 
            gameOver(); 
            break; 
        } 
   }

Обратите внимание, что в предыдущем коде есть функция с именем gameLoop (), вам нужно вызывать ее итеративно с помощью событий таймера или события ENTER_FRAME:

public function Game() { 
      addEventListener(Event.ENTER_FRAME, gameLoop); 
      gameState = STATE_INIT; 
}

Послеэто, вся ваша обработка игры перейдет к функции initScene1 ().Там вы можете добавить свое стартовое меню и анимировать его, как вам нужно.

Здесь, в initScene2 (), идет логика вашей игры.Вы можете создавать врагов, заставлять их двигаться и другую логику.

public function initScene2():void { 
    makeEnemies(); 
    moveEnemies(); 
    testCollisions(); 
    testForEnd(); 
}

Далее, если логика основной игры решает завершить игру, вам нужно переключить состояние на STATE_GAME_OVER и показать результаты игрока в функции gameOver (),Чтобы получить более подробную информацию об игровых фреймворках, вы можете использовать «Основное руководство по флеш играм» Джеффа Фултона и Стива Фултона.

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

0 голосов
/ 03 июля 2011

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

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

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

очень хорошая ссылка: http://as3gamedev.blogspot.com/

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