跳转到内容

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 不试图处理这方面的原因。
华夏公益教科书