Egret應用開發實踐(04) 狀態機系統

2021-09-19 11:06:51 字數 1932 閱讀 9709

使用有限狀態機實現遊戲流程控制。

有限狀態機(finite-state machine,縮寫:fsm)又稱有限狀態自動機,簡稱狀態機,是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。它是乙個有向圖,由一組節點和一組相應的轉移函式組成。

有限狀態機的程式設計快速簡單,易於除錯,效能高,與人類思維相似從而便於梳理,靈活且容易修改。

設計乙個簡單的遊戲流程

puremvc框架提供了fsm實現。

injectfsmcommand.ts

///import  from '../../scheme/scenefsm';

export class injectfsmcommand extends puremvc.******command

public execute(notification: puremvc.inotification): void

}

directormediator.ts

///export class directormediator extends puremvc.mediator  

public listnotificationinterests(): string

public handlenotification(notification: puremvc.inotification): void

}public onregister(): void

}public onremove(): void

public changescene(mediatorname): void

var scenemediator = this.facade.retrievemediator(mediatorname);

if (scenemediator)

}

}

menuscenemediator.ts

///import  from '../scenes/menuscene';

export class menuscenemediator extends puremvc.mediator

public listnotificationinterests(): string

public handlenotification(notification: puremvc.inotification): void

public onregister(): void

public onremove(): void

public renderscene(width: number, height: number): void

}public destroyscene()

}

guyoung studio

後台開發 核心技術與應用實踐

常用類庫 在c 中,臨時物件都是const型別的。可以使用union 聯合 判斷系統是大端 big endian 還是little endian 小端 只能把列舉賦值列舉變數,不能把元素的數值直接賦值列舉變數。共用體以最長的位元組為準,考慮記憶體對齊。結構體以內建型別的最小公倍數對齊。編譯階段 g ...

基於Python的Web應用開發實踐總結

本次學習採用的是flask框架。根據教程開發個人部落格系統。部落格介面如圖所示。整個學習過程收穫很多,以下是學習總結。virtualenv是第三方工具,用於建立虛擬環境。可以為每個程式單獨建立虛擬環境,每個虛擬環境互不影響,並且不影響全域性的環境,也就是說在不同的虛擬環境裡可以使用不同版本的pyth...

《後台開發核心技術與應用實踐》(一)

物件導向的c 後台開發核心技術與應用實踐 徐曉鑫 的學習筆記。後台開發技術能力體系,自省!後者先搜尋當前目錄,再搜尋標準頭檔案目錄 1 strlen 是函式,在執行時才能計算。引數必須是字元型指標 char 且必須是以 0 結尾的。當陣列名作為引數傳入時,實際上陣列已經退化為指標了。它的功能是返回字...