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');
},
});