代码:
screen:print(250,10,"Enemy Health: " .. Enemy[1].health,green)
screen:print(250,20,"Enemy Type: " .. Enemy[1].type,green)
修改为:
代码:
screen:print(250,10,"Enemy Health: " .. Enemy[currentEnemy].health,green)
screen:print(250,20,"Enemy Type: " .. Enemy[currentEnemy].type,green)
现在当敌兵变更时,程序会自动打印出正确敌兵的生命值和兵种。我们还需要修改下述两行:
代码:
if pad:cross() and oldpad:cross() ~= pad:cross() and Enemy[1].health > 0 then
Enemy[1].health = Enemy[1].health - 5
修改为:
代码:
if pad:cross() and oldpad:cross() ~= pad:cross() and Enemy[currentEnemy].health > 0 then
Enemy[currentEnemy].health = Enemy[currentEnemy].health - 5
作为结束,我们将添加一些代码,如果5个敌兵都被杀死则打印“All enemies are dead”至屏幕。把这个代码置于主循环中打印敌兵生命值和类型的screen:print行下。
代码:
if currentEnemy == 5 and Enemy[currentEnemy].health == 0 then
screen:print(50,100,"All enemies are dead",green)
end
这段代码是说,如果当前敌兵编号是 5 且其生命值等于 0 则打印“all enemies are dead”。保存你的代码,运行之。按下 X 直到一个敌兵死亡。然后下一个敌兵会上阵,一个跟一个,直到所有 5 个敌兵都被杀死为止。
我希望本课能对你今后的表达式学习有所帮助。
7——使用图像
到目前为止,我们所有的程序均只使用了文本。我想下水前先湿湿脚比较好,有了基本编程知识,将使一切容易领会。在本节课中,我将介绍使用图像,及一些获取图像信息的命令。
至于我们打算编写什么?嗯,就做一个看起来真正象是游戏的程序吧。它不会做任何华而不实或令人兴奋的事情,但足够应付本教程的目的了,图像。我们这里所学的只是众多图像命令的一部分。我们将在以后的教程里进一步了解这些。你也可以自己在luaplayer的文档中查询。我们的作品将包括一个可移动的角色,他可以在屏幕中自由走动,但不能够走出屏幕边缘。
第一件事是将下面提供的图像保存到你的工作目录。这些图像只是做个样本,你完全可以用自己的。LuaPlayer 可以载入 PNG 和 JPEG 图像。大多数情况下我会使用 PNG 而不选 JPEG,尤其当你需要透明的时候。现在保存这些图像:点此下载
解压至工作目录。你应该有如下3个图像:
player.png
grass.png
flower.png
现在我们先回到教程的第一部分,稍后再编写我们的代码。
载入图像
要在lua中使用图像,你必须先将其载入程序,并赋予一个变量(或数据表)。你可以在程序开头这么做,也可以稍后再做,这取决于你什么时候需要该图像。在我们待会儿要写的代码中我们会在开始就预先载入图像。这里是一个载入图像的示例: