| PSP | 游戏资料 | 玩家宝典 |
菜鸟也能为PSP编程 - Lua Player 编程初级指南
11——了解定时器 本课我们将学习在程序中如何使用毫秒定时器。定时器可以在程序中派很多用处。通过定时器你可以使某些代码仅在一个正确的时间段内执行。 下面这个小型的PSP程序将教您使用定时器,并显示讯息在屏幕上。显示的信息内容取决于计时器的时间。 首先,让我们创建一个白色对象。 代码: white = Color.new(255,255,255)为了创建一个定时器,我们使用命令 Timer.new()。 我们将此定时器存为一个变量。下面让我们创建一个定时器。 代码: counter = Timer.new() 要启动或停止一个定时器请使用命令 timername:start() 和 timername:stop()。我们想在程序开始启动我们的定时器,所以加上下面代码: 代码: counter:start()请注意我们在命令中使用了刚才创建的定时器名字。 下一步,我们来创建我们程序的主循环,并添加每次循环清屏的代码。如下: 代码: while true doscreen:clear() 现在,在我们的程序中将需要与定时器的计时步伐保持一致。我们将利用定时器的当前时间显示信息到屏幕上。我们可以通过命令 countername:time() 得到定时器的当前时间。添加如下代码: 代码: currentTime = counter:time()这会把定时器的当前时间保存到变量 currentTime 中。下面我们加入一些代码,在每次循环时将定时器的当前时间打印到屏幕上。代码如下: 代码: screen:print(10,10,"Counter Time: " .. currentTime,white)现在,我们将使用一些 if 语句来判断我们的定时器是否在某个时间,若是则显示一则消息。先来加上第一项: 代码: if currentTime < 1000 thenscreen:print(100,100,"Less than 1000",white) end 这段代码是检查定时器的时间是否小于1000。如果是,则“Less than 1000”将打印到屏幕上。现在,让我们再加入一项。 代码: if currentTime > 1000 and currentTime < 2000 thenscreen:print(100,100,"Greater than 1000",white) end 这将检查定时器的时间是否比1000大,但小于2000。如果是,则“Greater than 1000”将被打印。最后的 if 语句将在时间超过2000时把我们的定时器复位回零。 我们可以使用 timername:reset(number) 命令重置定时器。 括号内的数值是定时器将被设回的起始时间。复位定时器也将停止定时器,所以我们还要重新启动它。代码如下: 代码: if currentTime > 2000 thencounter:reset(0) counter:start() end 通过此代码,如果定时器时间超过2000,我们的定时器将复位回零并重新开始。最后,让我们结束我们的主循环。 代码: screen.waitVblankStart()screen.flip() end 保存并运行你的程序,看看动起来的定时器吧。 |
>> 相关资讯:
上一篇:PSP网上冲浪:OPERA浏览器使用指南 下一篇:随心听音乐!PSP音乐播放插件Music prx cfw相关文章

热门文章

推荐文章

