这一路来我感觉对love2d已经基本了解,但对于如何做游戏还是不太熟悉,于是便有
看一些的love2d游戏代码的想法。1942game来自此处,版权归其作者我只是略作修

改,我将分两篇来讲解,此篇为游戏启动画面。

当我们玩游戏时,进入我们的第一个界面便是启动画面了,启动画面一来可以作为游

戏的宣传,二来可以用来预加载游戏资源。我们可以先建一个类,在里面放上启动画

面的代码,代码里放上状态变量和时间控制。然后在main.lua里检测状态变量的值,

并执行相应的操作。具体如下:

main.lua

require('splash')
function love.load()font = love.graphics.newFont("assets/font.ttf",14*scale)love.graphics.setFont(font)--初始化splash.load("splash","assets/title.gif","assets/music.mp3")
endfunction love.draw()if splash.state == "splash" thensplash.draw()endif splash.state=="game" thenlove.graphics.printf("Welcome to the game!",0,80*scale,love.graphics.getWidth(),"center")end
endfunction love.update(dt)if splash.state == "splash" thensplash.update(dt)endendfunction love.keypressed(key)if splash.state == "splash" thensplash.keypressed(key)endend

splash.lua

splash = {}
--初始化
function splash.load(state,img,music)splash.dt_temp = 0splash.state=state--加载资源splash.img=love.graphics.newImage(img)splash.music=love.audio.newSource(music, "stream" )splash.music:setLooping(true)love.audio.play(splash.music)
endfunction splash.draw()love.graphics.draw(splash.img,0,(splash.dt_temp-1)*32*scale,0,scale,scale)-- 2.5s  后显示提示if splash.dt_temp == 2.5 thenlove.graphics.printf("Press Start",0,80*scale,love.graphics.getWidth(),"center")endendfunction splash.update(dt)splash.dt_temp = splash.dt_temp + dt-- 计时2.5sif splash.dt_temp > 2.5 thensplash.dt_temp = 2.5endendfunction splash.keypressed(key)--改变游戏状态splash.state = "game"love.audio.stop(splash.music)
end

代码下载,请点击。

love2d游戏1--1942game(一)相关推荐

  1. Love2D游戏引擎制作贪吃蛇游戏

    预览游戏 love2d游戏引擎重要函数 详情: love.load:当游戏开始时被调用且仅调用一次 love.draw:回调函数,每帧更新一次游戏画面 love.update:回调函数,每帧更新一次游 ...

  2. 使用lua开发游戏--love2d教程汇总

    说明,我只是在网上浏览时发现了"金庸群侠传lua复刻版",有源码,基于sdl使用C语言,我大概看了 一下不是很懂.后来发现了love2d,也是基于sdl,于是便有了用love2d再 ...

  3. lua进入压缩包_使用lua语言制作贪吃蛇游戏(love2d)(一)开发环境的搭建

    本教程教大家使用lua制作一个贪吃蛇,游戏引擎使用love2d,因为它开源轻巧而且跨平台. 1.开发环境搭建: windows系统: 在windows系统下,首先我们进入官网www.love2d.or ...

  4. love2d之路(三)一个简易弹幕射击游戏示例(上)

    上一节实现了人物的移动 这一节为人物加入"射击弹幕"这个功能 这里需要加入一个缓动库flux 需要的自取:flux缓动库 那么开始: 1.先思考要实现什么效果 这里取巧,先不弄太复 ...

  5. 【游戏开发】Lua Love2d | Love2d基础知识

    小提示: 此系列文章属于个人学习笔记,如果其中有误,希望大家指正. 也希望大家能够提出一些游戏开发学习上的建议等等的~ 谢谢大家!(๑•̀ㅂ•́)و✧ 教程简介: 了解如何使用 LOVE 2D 和 L ...

  6. 【Love2d从青铜到王者】第十三篇:Love2d之游戏:射击敌人(Game: Shoot the enemy)

    系列文章目录 文章目录 系列文章目录 前言

  7. 关于低分辨率像素游戏下显示非防锯齿中文 / 汉字的研究

    面临的问题 像素游戏是独立游戏的一种常用表现方式,在制作中文游戏时我们要面临显示点阵汉字的问题.当前各大游戏引擎中都会有显示中文的功能,但显示出来的中文字体效果一般都差强人意任意,在低分辨率的像素游戏 ...

  8. pico8 掌机_使用Pico-8构建自己的复古游戏

    pico8 掌机 An example of the kinds of pixel animations people make in Pico-8. 人们在Pico-8中制作的各种像素动画的示例. ...

  9. love2d教程30--文件系统

    在游戏里少不了文件操作,在love2d里我们可以直接用lua自带的io函数,如果不熟悉可以先读一下我的lua文件读写. 相对lua,love2d提供了更多的函数, 方便我们操作文件.不过可能处于安全考 ...

  10. raspberry pi_如何在Raspberry Pi上使用LÖVE游戏引擎对游戏进行编程

    raspberry pi Raspberry Pi以向孩子介绍开源软件和编程而闻名. Pi是负担得起的,实用的专业级计算入门,伪装成可破解的乐趣. Mitch Resnick's Scratch (最 ...

最新文章

  1. awk 和sed的用法介绍
  2. 企业级的开源备份工具之磁盘柜存储配置
  3. Windows 环境下载安装Docker
  4. 解决ARC下performselector-may-cause-a-leak-because-its-selector-is-unknown 警告
  5. 内容分发网络 - Content Delivery Network 学习笔记
  6. 连接数据库是显示无法连接到服务器,如何解决出现无法与数据库服务器建立连接的方法...
  7. leetcode 80. 删除有序数组中的重复项 II
  8. 计算机二级考试都怎么考,计算机二级都考什么 怎么考
  9. ie 无法运行php,PHP会话无法在IE中运行
  10. 苹果官网以旧换新价格暴跌;戴威退出 ofo 法人代表及高管;TensorFlow 2.1.0 发布| 极客头条...
  11. java 打文件传输超时_java I/O 一次批量插入保存文件,导致超时问题?
  12. [android] android下文件访问的权限
  13. halcon手眼标定
  14. 微信小程序实现自动语音功能:小程序语音提醒演示
  15. 韩国本土IP原生IP站群天堂W奥丁游戏香港站群CN2路线大带宽
  16. spring boot+thymeleaf+bootstrap 简单实现后台管理系统界面
  17. [BUUCTF]PWN——[BJDCTF 2nd]snake_dyn
  18. SPDA-CNN:Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
  19. JS+HTML+CSS模仿微信界面发送信息
  20. python输入一个数字n、计算1到n的和_python用户输入一个整数N,计算并输出1到N相加的和,请问这个程序错在哪里了?...

热门文章

  1. 专题三——枚举、模拟、排序
  2. DasViewer加载大疆智图、CC等三维模型无空间坐标的解决方法
  3. Nginx根据url参数匹配跳转
  4. python怎么计算指数_如何在Python中使用SciPy计算值和指数值的立方根?
  5. 设计模式-04-行为型模式详解
  6. Ubuntu下搭建git服务器步骤
  7. Glide 4.0.0 RC0 使用详解
  8. sftp连不上服务器 vscode_vscode+sftp 开发模式环境的同步
  9. 计算机在医疗领域的发展未来,5G医疗在人工智能领域未来的发展
  10. 二次拟合r方_使用SPSS拟合曲线