跳轉到內容

Monkey/Modules/Mojo

來自華夏公益教科書,開放的書籍,為一個開放的世界

Mojo 是 Monkey 的一個輕量級程式設計框架模組。它目前支援 HTML5、Flash、Android、iOS、XNA 和 GLFW 目標。Mojo 主要用於編寫簡單的 2D 遊戲。

基本存根

[編輯 | 編輯原始碼]
' use Strict for less errors in your code
Strict

' import the mojo module
Import mojo

' declare your game class
Global myGame:MyGame

' the entry point of a monkey program
Function Main:Int()
	myGame = New MyGame
	Return 0
End

' your game class which extends the mojo app class
Class MyGame Extends App

	Method OnCreate:Int()
		SetUpdateRate 60
		Return 0
	End
	
	Method OnUpdate:Int()
		Return 0		
	End
	
	Method OnRender:Int()
		Return 0
	End
End
  • Mojo 應用程式必須擴充套件 Mojo App 類,並在 Monkey Main() 函式中的某個地方建立一個此類的新例項。這實際上是“建立”應用程式。
  • Mojo 程式的所有資料(影像、聲音和文字檔案)都必須放在一個特殊的 data 目錄中。此目錄與程式的主原始檔同名,只是副檔名為“ .data ”,而不是“ .monkey ”。例如,如果您的主原始檔名為“ joust2k.monkey ”,那麼您的 data 目錄應命名為“ joust2k.data ”。
  • 在應用程式的 OnCreate 方法被呼叫之前,不應呼叫 Mojo 函式。這意味著您不能使用 Mojo 函式(如 MilliSecs )返回的值來初始化全域性變數 - 您必須在應用程式的 OnCreate 方法或之後初始化此類變數。
  • Mojo 基於回撥,而不是早期的 Blitz Research 產品,在這些產品中,您的應用程式“驅動”主迴圈。相反,基於回撥的應用程式響應由底層作業系統生成的事件。
  • Mojo 不處理“調整”顯示。這必須在“目標端”完成,這意味著您需要修改程式“ .build ”目錄中的目標專案。調整顯示屏(以及總體上控制顯示屏功能)所涉及的確切過程因目標而異。它可能涉及編輯一些原始碼,或者使用 RAD 工具調整視窗的大小,這就是 Mojo 不試圖處理這方面的原因。
華夏公益教科書