Lua Player
指南
前提条件
你应该对lua编程语言的基础有所了解,这个网址下面就有一些比较不错的Lua的教程http://lua-users.org/wiki/TutorialDirectory.而LuaIDE在纯的Lua环境下对你实验很有帮助,在那里你可以键入一些程序并且一步一步的运行,来观察其中的变量是如何改变的.还有一种方式就是下载windows版本的Lua(lua.exe),以命令行的方式来启动lua.exe,然后在里面输入Lua表达式,比如像”for i=1,10 do io.write(i..”/n”) end”.
Hello World
首先按照readme文件中描述的步骤安装Lua Player.完成之后让我们从一个简单的脚本开始吧:
-- create a new Color object
green = Color.new(0, 255, 0)
-- show some text on offscreen
screen:print(200, 100, "Hello World!", green)
-- flip visible and offscreen
screen.flip()
-- wait forevever
while true do
screen.waitVblankStart()
end
把上面这些内容输入到文本文档中,并以”script.lua”作为他的文件名,把它放到你的记忆棒用来存放EBOOT.PBP的同一个目录中.当你启动Lua player之后,你的可爱的psp屏幕上应该可以看到这个枯燥的图片:
psp 的屏幕的分辨率是480*272(单位像素)的.”Color.new”这条语句建立了一个新的颜色对象.参数分别是red,green,blue和alpha(可选),每一个参数的变化范围都是从0到255.这其实就是RGB颜色模型. "screen:print"这条语句在屏幕上显示出了一些文本,其中前两个参数是要显示的文本在屏幕中的位置x,y坐标值,这两个参数后面紧接着要显示的文本和一个可选的颜色参数(默认是黑色).坐标值x是从屏幕的左边开始的,坐标值y是从屏幕顶端往下增长的.
这里我们使用了两个屏幕缓冲:一个离屏缓冲和一个可视缓冲。所有的绘图函数都是作用在离屏缓冲上的。这就意味着直到调用了screen.flip(),离屏缓冲和可视缓冲才能互相交换,从而显示出你要显示出的文字来。这其实就是所谓的双缓冲技术。这种技术是通过一种叫做page-flipping(翻页技术)来实现的,这就是问什么它的名字叫做“flip“啦。
在最后的那个while循环中 无限的调用了waitVblankStart这个函数。如果你不以类似这样的方式结尾的话,当你的脚本结束时,你将不会看到你所想要看到的结果,因