上一节教程讲了如何加载图片,以及加载一个飞机,现在教大家如何创建子弹 。我们使用已经准备好的素材:

文章插图
这是我们要使用的子弹素材 。同样的,我们把它加载到内存中去: bulletImg = love.graphics.newImage("bullet.png") 那么如何使用它呢?
- 玩家初始化
function love.load()winWidth, winHeight = love.window.getMode()playerImg = love.graphics.newImage("player.png")bulletImg = love.graphics.newImage("bullet.png")player = { x = winWidth / 2, y = winHeight - playerImg:getHeight()}speed = 100end这里出现了两个新的方法,getMode返回的前两个返回值是我们目前窗口的高和宽,我们用 winWidth和winHeight初始化我们的飞机,而playerImg对象的getHeight方法则是获取图片的高 。经过初始化的飞机出现的位置:
文章插图
- 子弹发射
function love.load()winWidth, winHeight = love.window.getMode()playerImg = love.graphics.newImage("player.png")bulletImg = love.graphics.newImage("bullet.png")player = { x = winWidth / 2, y = winHeight - playerImg:getHeight()}speed = 100bullet = {}--存储子弹的tableendfunction love.update(dt)if love.keyboard.isDown("up") thenplayer.y = player.y - speed * dt;endif love.keyboard.isDown("down") thenplayer.y = player.y + speed * dt;endif love.keyboard.isDown("left") thenplayer.x = player.x - speed * dt;endif love.keyboard.isDown("right") thenplayer.x = player.x + speed * dt;endif love.keyboard.isDown("x") thentable.insert(bullet, {x = player.x, y = player.y})--当按下x时,往表里插入一个对象 。endendfunction love.draw()love.graphics.draw(playerImg, player.x, player.y)--遍历bullet,绘制子弹for k, v in ipairs(bullet) dolove.graphics.draw(bulletImg, v.x, v.y)endend运行结果:
文章插图
现在子弹并不会动,因为我们没有写让子弹运动的代码 。现在暂时只让子弹向上飞 。代码:
function love.load()winWidth, winHeight = love.window.getMode()playerImg = love.graphics.newImage("player.png")bulletImg = love.graphics.newImage("bullet.png")player = { x = winWidth / 2, y = winHeight - playerImg:getHeight()}speed = 100bullet = {}--存储子弹的tableendfunction love.update(dt)if love.keyboard.isDown("up") thenplayer.y = player.y - speed * dt;endif love.keyboard.isDown("down") thenplayer.y = player.y + speed * dt;endif love.keyboard.isDown("left") thenplayer.x = player.x - speed * dt;endif love.keyboard.isDown("right") thenplayer.x = player.x + speed * dt;endif love.keyboard.isDown("x") thentable.insert(bullet, {x = player.x, y = player.y})--当按下x时,往表里插入一个对象 。endfor k, v in ipairs(bullet) dov.y = v.y - 150 * dtendendfunction love.draw()love.graphics.draw(playerImg, player.x, player.y)--遍历bullet,绘制子弹for k, v in ipairs(bullet) dolove.graphics.draw(bulletImg, v.x, v.y)endend【lovely教学 Love教程】现在,飞机发射的子弹就可以动啦 。- 小学语文教学论文40篇 小学语文教育教学论文
- 英语几乎零基础怎么学 英语零基础教学
- 挽回前女友教程 挽回女友教学
- 薰衣草怎么种教学视频 薰衣草怎么种
- 1对1在线教学受资本热捧
- 如何提高教师课堂教学能力 如何提高课堂教学的有效性?
- 初中英语游戏教学 初中英语课堂游戏活动
- 会说话的汤姆猫玩法教学 会说话的汤姆猫怎么玩的
- 英语的音标学习 英语音标在线教学
- 初中英语课堂教学设计
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
