南京新世界电玩 >> PSP >> PSP技术 >> 菜鸟也能为PSP编程 - Lua Player 编程初级指南
菜鸟也能为PSP编程 - Lua Player 编程初级指南
作者:不详  浏览:次  日期:06-25
广告位

代码:

Player = { } Player[1] = { x = 200, y = 50 }

 

  这将存储玩家在屏幕上的x、y位置。我们将让玩家从 x 200、y 50 的位置开始。

  现在开始我们的主循环。输入如下代码:

代码:

while true do
pad = Controls.read()
screen:clear()

 

  在下一部分代码中我将引入一个新的循环命令。就是“for”循环。我先举个例子让你了解它的工作方式,无需放在你的代码中。这个例子通过使用一个小循环打印了5个玩家的武器。

代码:

for a = 1,5 do
screen:print(10, 10, Player[a].weapon, green)
end

 

  要使用 for 循环,你要赋予一个临时变量起始值和终止值。

  在上文中我们说 "for a = 1,5 do",这意味着创建一个循环,其变量 a 的起始值为 1,终止值为 5。你可以理解为“a 等于 1 至 5”。

  然后在循环中我们要打印玩家的武器到屏幕上。

  最后一行是 end 语句,必须使用以终止循环。

  这样,该循环将不断重复直到 a 等于终止值,然后循环终止。第一次循环执行时 a 等于 1。下一次循环时 a 将等于 2,然后是 3,然后是 4,最后是 5。这样就可以快速的将玩家 1 至 5 的武器都打印到屏幕上。当然。实际操作时你需要更改 print 命令的屏幕坐标,不然就都打印到一起去了。但是这展示了该循环的用法。在 for 循环中你也可以根据需要使用 if 语句。

  我们将使用这个命令把我们的grass图像平铺在整个屏幕上。输入下述代码,然后我会解释。当然,如果要做一个带卷轴之类的复杂游戏,使用平铺引擎将是更好的办法,不过目前我们不需要用它。

代码:

for a = 0, 14 do
for b = 0,8 do
screen:blit(32 * a, 32 * b, grass)
end
end

 

  这里我们在一个 for 循环中嵌套了又一个 for 循环!这将把 grass 图像粘贴到整个屏幕上。横向贴 15 幅图,纵向 9 幅图。请注意,我们设定起始值为 0 而不是 1,这样图像会从屏幕最左边贴起。

  现在让我们再贴一些图像。

代码:

screen:blit(100,100,flower)
screen:blit(300,220,flower)
screen:blit(Player[1].x,Player[1].y,player)

 

  这一段就是简单的贴上两幅 flower 图像,还有 player 的图像。很快,当我们使用移动按键时我们将在每次循环中让玩家的坐标随着按键的按下而改变。使用上述 blit 命令我们的 player 图像将自动粘贴到屏幕的正确区域。

  现在让我们加上那些按键,以检测是否按下了方向键。输入下述代码:

代码:

if pad:left() and Player[1].x > 0 then
Player[1].x = Player[1].x - 2
end

if pad:right() and Player[1].x < screenwidth then
Player[1].x = Player[1].x + 2
end

if pad:up() and Player[1].y > 0 then
Player[1].y = Player[1].y - 2
end

if pad:down() and Player[1].y < screenheight then
Player[1].y = Player[1].y + 2
end

 

  这些代码将检测我们是否按下了“上下左右”键。使用 and 语句同时确保我们没有超出屏幕边界。既然屏幕的最左侧和最顶端的坐标是 0,我们只要检查我们的位置是否大于 0 即可。其他部分我们使用 screenwidth 向右走,screenheight 则用来向下走。这些变量我们之前已创建。如果我们的位置通过了 if 测试,则玩家的 x 或 y 坐标递增或递减 2 点。每次主循环执行都会将 player 图像粘贴到提供给它的新位置。

广告位2
 来源:来自网络 
 热门文章
②新世界新街口店地址:南京中山东路71号电..
招商、批发、邮购请与总部联系邮购地址:南..
产品代理列表:任天堂神游机系列产品江苏、..
新世界出台会员制度如何成为会员: 第一次 购..
南京新世界电玩,是一家经营达20年的老字号..
 最新文章
面对越来越多的客户关于新版PSP 3000掌机扫..
Alek谈PSP破解小组M33的近况 Dark-Alex官方..
由 CAPCOM 製作,预定明年春季推出的 PSP 战..
由 KOEI 製作,推出移植自 PS / PS2 同名作..
将《传说》系列诸多角色汇集到一起的梦幻游..
PSP | iDSL | PS3 | wii | XBOX360 | 下载中心 | 本站商城 |淘宝一店 | 淘宝二店 | 加盟 | 招聘 | 联系我们 | TOP
使用 1200*1024 以上分辨率 IE7.0 浏览新世界以达到最佳视觉效果