| PSP | 游戏资料 | 玩家宝典 |
菜鸟也能为PSP编程 - Lua Player 编程初级指南
4——让按键为你工作 本节可将教你如何接收PSP的按钮输入,并编写一个按下不同按钮显示不同文本的简单程序。如果没有按钮输入,就没有与用户的交互,那可是相当无聊的。所以让我们学习一下这方面的知识吧。我们会使用到之前的课程所教授的东西,包括变量。本节我们将减少注释量,并介绍另一种使你的代码整齐的方法。这就是分区法。 首先我们为要使用的变量分一个区块。很简单,注释中为区块名称加一些容易识别的符号,例如星号,当然你也可以用自己的符号! 代码: -- *******变量********我们仍然需要一个色彩对象以便写屏。如果你原意可以创建几个不同的色彩对象,各占一行,以便今后使用。不过我把这件事留给你自己。我只打算创建一个。(早日学会自立可是好事情) 代码: green = Color.new(0,255,0)接下来我们要创建一些文本变量,以便存储按下按钮时将会打印的字符串,内容是你按下了哪个按钮。我们只为一半的按钮创建变量。另一半我们直接用print命令打印出来。这有两个好处:一、你可以锻炼变量的使用;二、你将看到这两种方法对于小程序来说都不错。我们将会用到十个按钮,它们是方向按钮,图形按钮,肩按钮。 这次我们使用print命令的方法也会略有不同。当打印被按下的按钮名称时我们希望按钮名称显示在双引号里,为了这个目的我们将使用单引号包围文本字串,而不是双引号。如果使用通常的双引号,程序会以为字符串在按钮名称之前结束。现在我们来创建5个变量(记得我说过只建一半吧)。 代码: upPressed = 'You are pressing the "UP" button'downPressed = 'You are pressing the "DOWN" button' leftPressed = 'You are pressing the "LEFT" button' rightPressed = 'You are pressing the "RIGHT" button' LPressed = 'You are pressing the "L" button' 完成后我们继续。还记得我们每次都用的那个循环吧。不想用了?!也好,是时候学点新东西了。你做的每个程序都将有一个主循环。该区块的代码会反复执行直到某个条件达成为止,不管这个条件是什么。在循环内可以有数个要执行的代码模块。其中一些是每次循环都要执行的,另一些则会检查是否条件满足,然后决定执行与否。让我们开始我们的循环。 代码: -- *****主循环******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() thenscreen: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 呼!现在让我们结束循环。我们需要翻转屏幕以便离屏缓存的内容写到显屏上。注意,此处的end是终止我们的while循环。 代码: screen.waitVblankStart() 保存文件,拷贝到PSP上运行,按下按钮看看吧! 译者注:作者没有提到模拟垫(摇杆)的控制,补充一个例程,见附件。点此下载 |
>> 相关资讯:
上一篇:PSP网上冲浪:OPERA浏览器使用指南 下一篇:随心听音乐!PSP音乐播放插件Music prx cfw相关文章

热门文章

推荐文章

