Anthill Game Framework

Tiny framework for creating Flash games.

Инструменты пользователя

Инструменты сайта


anthill:antstate

AntState

Данный класс следует использовать для реализации игровых состояний. Например, таких как игровое меню или игровой процесс. Проще говоря, данный класс является основной вашей игры, так как именно через него вы осуществляете вход в Anthill и получаете доступ к его ресурсам.

В данном классе имеется основная сущность, которая является корнем для всех ваших сущностей и других объектов. Указатель на основную сущность скрывается в переменной defGroup. Также существует две переменные-указатели на методы основной сущности: add и remove — которые позволят вам быстро добавлять и удалять объекты из основной сущности.


Пример использования

Предположим, что вам необходимо создать игровое меню. Унаследуйте ваше игровое меню от AntState следующим образом:

package
{
  import ru.antkarlov.anthill.*;

  public class MyMainMenu extends AntState
  {
      
    public MyMainMenu():void
    {
      super();
    }
    
    override public function create():void
    {
      var btnPlay:AntButton = new AntButton();
      btnPlay.x = 100;
      btnPlay.y = 100;
      btnPlay.addAnimationFromCache("Play_mc");
      btnPlay.eventDown.add(onDown);
      add(btnPlay);
    }
    
    private function onDown(aButton:AntButton):void
    {
      trace("Click on play button!");
    }
    
  }
  
}

Теперь, чтобы ввести такое игровое меню в Anthill, необходимо создать ядро игрового движка и указать ваш класс как основу:

var anthill:Anthill = new Anthill(MyMainMenu);
addChild(anthill);

Так же вы можете в любой удобный для вас момент переключаться между состояниями:

AntG.switchState(MyGamePlay);

Класс AntState содержит два важных метода: create() и destroy(). Метод create() вызывается автоматически, когда производится ввод в игровое состояние, например при инициализации движка или при переключении через switchState(). Именно в методе create() следует производить инициализацию состояния: создание визуальных и не визуальных объектов и их добавление в структуру Anthill. А метод destroy() вызывается непосредственно перед тем, как состояние будет удалено из игрового движка, в данном методе следует освобождать все используемые состоянием ресурсы.

Чтобы подписаться на игровой тик внутри состояния, просто перекройте метод: preUpdate(), update() или postUpdate().


anthill/antstate.txt · Последние изменения: 11.05.2013 00:42 — Илья Уткин