代码:
grass = Image.load("grass.png")
这一句将载入图像文件 "grass.png" 并赋予变量 "grass"。要正确载入图像你得确保该图像与你的lua脚本文件位于同一目录。如果你把图像放在一个子文件夹,例如 "Images",你就得用 "Images/grass.png" 而不是 "grass.png"。大小写也不要搞错。image 的 I 要大写,load 的 l 要小写。载入图像很简单吧?!
显示图像
要在屏幕上真正显示图像并不比载入更难。这里是完整命令:
代码:
screen:blit(x, y, Image source, [sourcex, sourcey, width, height], [alpha = true])
这里有很多信息要填!不是所有的参数都必要,方括号里的如果你不需要你可以完全忽略。现在让我们解释一下。
代码起始的 screen:blit 是一个命令,它将图像粘贴到屏幕上。
括号里的内容是真正乐趣所在。
x 和 y 与 print 命令中的相同。指定图像粘贴到屏幕上的位置。
Image source 指定要粘贴的图像。上文中我们载入了一个图像叫 grass,所以我们可以用 grass 作为图像源。
[sourcex, sourcey, width, height] 是可选的。用来载入某幅大图的一部分。分片图是个极好的例子。你可以载入一幅单图,分成好几个部分,使用此代码你可以只粘贴其中的一部分。sourcex 和 sourcey 是要截取区域开始点的 x 和 y 坐标值。这样粘贴的不是整幅图,而是其中一部分。
width 和 height 是指图像截取区域的宽度和高度。
命令的最后是 alpha 参数。这是用来设定图像的透明度的。如果设为 true 则图像透明, 设为 false 则显示原图。
本课我们不会使用全部参数。
获取图像尺寸
获取载入的图像尺寸有时很有用,这要用下面两个命令:
代码:
image:width()
image:height()
实际使用时,用你想获取宽高的图像变量名替换此处的“image”。例如,要获取我们的grass图像的宽度和高度,你可以用:
代码:
grass:width()
grass:height()
开始编写程序
让我们开始编写我们的游戏。第一件要做的就是载入我们的图像。创建一个新文件,输入如下代码:
代码:
grass = Image.load("grass.png")
player = Image.load("player.png")
flower = Image.load("flower.png")
就这样。我们已经把我们的三个图像载入了程序。
现在我们来用用那些获取图像尺寸的命令。先输入下列代码,然后我会解释的。我还想提醒你,你如果自己手工输入这些代码会比复制粘贴的效果要好。这样你会对这些命令记得更牢。不管怎样,添加如下代码:
代码:
screenwidth = 480 - player:width()
screenheight = 272 - player:width()
这有什么用吗?我来解释一下它的用途。这部分代码帮助我们让玩家角色到达屏幕边缘时停止,无论是往左或往右(水平方向)。我们知道PSP屏幕尺寸是480,但是如果我们设定屏幕边界是480,我们的角色就会超出屏幕32个像素,因为角色是32像素宽。player:width() 获取玩家图像的宽度,也就是 32 像素。从屏幕的宽度和高度中扣除该值就可以让角色图像在屏幕边缘停止。
接着我们来创建一个数据表以存储玩家角色的信息。此例程中需要的唯一信息就是玩家在屏幕上的 x 和 y 坐标位。输入如下代码: