代码:
-- *****主循环******
while true do
接下来的代码都在此循环内。下一行要添加的代码是件新事物,清屏。
代码:
screen:clear()
这个命令将清除屏幕上显示的任何内容。每次循环屏幕都将首先被清空。顺便提一下,循环的速度极快,你根本就不会察觉到!所以不清屏的话,我们打印的内容将在屏幕上层层堆叠,搞得很难看。让我们接着学新东西。
代码:
pad = Controls.read()
简单的说,这一句是在每次循环时获取按钮的输入。同时请注意pad也是一个变量,你可以改用其他名称,例如buttons。pad看起来挺标准,所以我们就不改了。
现在该学习你的第一个条件表达式了,if语句。相信我,这没有它看起来那么难。同时你还会学到按钮的输入命令。先把下面的代码写到程序里,然后我来解释。
代码:
if pad:up() then screen:print(100,100,upPressed,green) end
这一句代码就是说“如果上键被按下,则用绿色打印变量upPressed所含的文本”。这将返回true或false值。每个if语句都以 if 开头,然后给出要检查的条件。此例中则是检查是否上键被按下。然后跟随在关键字 then 之后的内容则是如果条件为真要执行的代码。最后,每个语句都必须以 end 结束。语法简单易懂,一目了然。今后我们还将深入讨论它的。现在让我们为其他三个方向按钮和L按钮添加代码。
代码:
if pad:down() then
screen:print(100,100,downPressed,green)
end
if pad:left() then
screen:print(100,100,leftPressed,green)
end
if pad:right() then
screen:print(100,100,rightPressed,green)
end
if pad:l() then
screen:print(100,100,LPressed,green)
end
现在为另5个按钮加代码。这次我们直接在print语句里包含要打印的文本,以练习不同的方法。
代码:
if pad:r() then
screen:print(100,100,'You are pressing the "R" button',green)
end
if pad:triangle() then
screen:print(100,100,'You are pressing the "TRIANGLE" button',green)
end
if pad:circle() then
screen:print(100,100,'You are pressing the "CIRCLE" button',green)
end
if pad:cross() then
screen:print(100,100,'You are pressing the "X" button',green)
end
if pad:square() then
screen:print(100,100,'You are pressing the "SQUARE" button',green)
end
呼!现在让我们结束循环。我们需要翻转屏幕以便离屏缓存的内容写到显屏上。注意,此处的end是终止我们的while循环。
代码:
screen.waitVblankStart()
screen.flip()
end
保存文件,拷贝到PSP上运行,按下按钮看看吧!
译者注:作者没有提到模拟垫(摇杆)的控制,补充一个例程,见附件。点此下载