最后让我结束循环。使用如下代码:
代码:
screen.waitVblankStart()
screen.flip()
end
保存你的工作,运行吧。使用方向键让角色在屏幕上穿梭。你应该是无法穿越屏幕边缘的。
8——使用函数
本课我们将学习怎么使用函数。创建一个函数相当于新建一个属于你自己的Lua命令。你可以将经常使用的代码放进函数中,这样你就可以随时调用了。函数放在主循环之外。一般放在代码开头的变量声明附近比较好。
首先让我们看一下函数是怎么声明的。检查下面代码:
代码:
function functionName()
(函数中要执行的代码。
可以使用多行代码。)
end
这就是函数的构成方式,让我们看看下面的示例函数,它将在每次调用时打印一条简单的消息到屏幕。
代码:
function printMessage()
screen:print(100,100, "Functions are fun!")
end
现在,要想在程序中打印这条消息,就必须在要使用的地方调用这个函数。就上例而言使用下述代码就可以调用该函数,将函数的代码执行一次。
代码:
printMessage()
这么简单?!呣...恐怕就是这样!使用上述代码将会执行我们先前创建的函数代码。通过调用 printMessage() 就可把 "Functions are fun!" 打印到屏幕上。
当你开始编写更复杂的程序或游戏时,你将会大量使用函数。在你的主循环中调用函数而不是实际的代码将使你的代码更加整齐易懂。之前我说过函数放在主循环外面,这是对的。但是,从主循环内调用它们是没问题的。
函数也可以创建来返回一个值。创建函数时加个括号和参数就行。比如说,我们要建个函数将两个数值加起来并把结果返回。首先我们得创建这个函数。看下面:
代码:
function additUp(a, b)
sum = a + b
return sum
end
请注意,在括号中我们放了字母 "a" 和 "b",其实你可以用任何字母或者甚至单词。它们是用于本函数内部的变量,也只存在与本函数中。因为我们打算将两个数相加,所以我们需要两个变量来存储。在你的函数中可以使用任意多个变量,只要你用逗号分开它们。
然后我们在函数中创建了一个变量叫 "sum",它将被赋予变量 "a" 和 "b" 相加的数值。等你看到它的调用就会更清楚了。接下来我们使用了一个命令 return,它告诉函数一旦我退出函数将返回一个值给此函数。我们现在要返回的是变量 "sum" 的值。最后,我们 end 了我们的函数。
现在让我们看看如何使用这个函数,再做一些解释。看如下代码:
代码:
screen:print(100,100,additUp(5,6), green)
这将把我们函数的结果打印到屏幕上。请注意,在调用函数时我们使用了实际的数值。此例中我们使用了 5 和 6。就是说将数值 5 赋值给 a,数值 6 赋值给 b。现在在我们先前创建的函数内,任何 a 或 b 被使用的地方,都将被我们实际赋予的数值代替。所以函数中 "sum = a + b" 这句话将被解析为 "sum = 5 + 6"。这将把 11 这个数值赋予 "sum" 变量然后返回给我们的 print 命令,打印到屏幕上。
如果需要我们也可以将此信息存在一个变量中。这样我们就不必在不需要的时候不得不立即使用它,或者在以后重复使用时不用每次都跑一遍整个函数。请看下面:
代码:
myTotal = additUp(5,6)
这句代码就把我们函数的返回值存储在变量 myTotal 里。myTotal 将等于 11。