Class: Automaton

phina.accessory.Automaton

new phina.accessory.Automaton ()

See:
Example
import { Automaton } from '@pentamania/phina-extensions';
// or const Automaton = phina.accessory.Automaton;

phina.define('Enemy', {
  superClass: phina.display.Sprite,
  init: function() {
    this.superInit("enemyImage");
    const automaton = Automaton().attachTo(this)
      .registerState('search', {
        enter: function() {
          // 状態を切り替えたときに見た目を変更する
          this.setFrameIndex(0);
        },
        update: function(app) {
          // うろつく処理…
          if (プレイヤーを見つけた) {
            // 状態を変更する際は状態文字列を返す
            return 'chase';
          }
        },
      })
      .registerState('chase', {
        enter: function() {
          this.setFrameIndex(1);
        },
        update: function(app) {
          // プレイヤーを追っかける処理
          if (プレイヤーを見失った) {
            return 'search';
          }
        },
      })
    ;
    // 初期状態
    automaton.setState('search');
  },
});

Extends

  • phina.accessory.Accessory