使用LIBGDX框架重建Flappy Bird游戏
文章平均质量分 78
artzok
这个作者很懒,什么都没留下…
展开
-
Libgdx教程——重建Flappy Bird——(1) 项目创建与导入
为了节省时间和篇幅,有关LibGDX的基础内容在本文将不会介绍。 我们在本项目中使用的是旧版libgdx项目生成工具gdx-setup-ui.jar,虽然该工具是旧版,但是对于简单的项目来说该工具还是非常方便的。下面我们将通过该工具创建项目。 首先双击打开该工具,如图所示: 点击创建按钮,并输入相应的项目名称: 其中Name表示项目名称,package表示包名,ga原创 2016-01-20 16:32:47 · 1100 阅读 · 0 评论 -
LibGDX教程——重建Flappy Bird——(2) 创建游戏框架
我们都知道Libgdx只是一个2D游戏框架,并不是游戏引擎,著名的AndEngine 2D游戏引擎就是基于Libgdx开发的,并且Flappy Bird原版就是使用AndEngine引擎开发的。所以我们必须先创建自己游戏引擎。 创建UML类图 首先我们详细分析Flappy Bird项目架构。我们使用类图帮助我们可视化项目结构并有组织有结构的理解项目构成。下面是该类图: 上图中Flappy原创 2016-01-20 16:40:49 · 970 阅读 · 1 评论 -
LibGDX教程——重建Flappy Bird——(3) 打包资源
修改Android启动图标和名称 首先,我们需要替换Android项目的默认启动图标。FlappyBird-android项目中存在一个名为res的特殊目录。在该目录中包含了Android项目专用的资源文件。 展开res目录可以看到四个以drawable为前缀的文件夹: drawable-ldpi(低分辨率显示屏) drawable-mdpi(中分辨率显示屏) drawable-hd原创 2016-01-20 19:08:33 · 1408 阅读 · 0 评论 -
LibGDX教程——重建Flappy Bird——(4) 创建游戏对象
在本章,我们将为Flappy Bird项目创建一个可以显示的场景。该游戏场景由几个具有相同的属性和功能的游戏对象组成。但是,这些对象被渲染的方式却各有不同,简单的对象直接渲染其所分配的纹理,复杂的对象可能需要多个纹理组合渲染。 创建游戏对象 首先创建AbstractGameObject类,并添加下面代码: package com.art.zok.flappybird.game.object;原创 2016-01-20 23:16:50 · 1087 阅读 · 0 评论 -
LibGDX教程——重建Flappy Bird——(5) 添加Box2D物理仿真和游戏逻辑
在本章我们将为Flappy Bird添加BOX2D物理仿真,BOX2D物理仿真可以模拟现实世界物体的属性,如重力、速度、摩擦等等。在BOX2D中存在三种物理对象,分别是StaticBody、KinematicBody和DynamicBody,其中静态物体StaticBody只能模拟那些固定不动的对象且不能与StaticBody和KinematicBody类型物理对象发生碰撞。KinematicBo原创 2016-01-22 20:06:48 · 1670 阅读 · 0 评论 -
LibGDX教程——重建Flappy Bird——(6) 碰撞检测及细节处理
本章源码链接:http://pan.baidu.com/s/1o6Tt6VS密码:dvsc 上一章完整的介绍了BOX2D的物理仿真创建过程,在本章我们将继续完成BOX2D的剩余内容——碰撞检测。因为BOX2D帮我们完成了所有物理模拟过程,包括碰撞检测,这极大的降低我们的项目难度,我们不需要理解碰撞检测如何运行,甚至不需要知道任何碰撞检测算法,就能够完成碰撞检测并通知我们。下面就让我们为Flap原创 2016-01-23 22:18:55 · 2181 阅读 · 0 评论 -
LibGDX教程——重建Flappy Bird——(7) 添加GUI信息
上一章介绍我们基本已经完成FlappyBird的游戏逻辑,接下来在本章将添加一些GUI信息,如分数、按钮等。 分数GUI 首先我们需要为WorldController维护一个int值表示当前玩家获得的分数。修改WorldController并添加相应的方法: ... public class WorldController extends InputAdapter implements原创 2016-01-25 01:15:28 · 1066 阅读 · 0 评论 -
LibGDX教程——重建Flappy Bird——(8)屏幕切换与播放声音(终结)
正如标题上所标注的,本章将完成FlappyBird的所有剩余内容。对比原版游戏我们可以看到FlappyBird现在还两个界面,如下所示: LibGDX提供Game和Screen两个类使我们可以将游戏拆分为多个界面。Game实现了ApplicationListener接口,所以他也可以作为项目的主类(也就是共享项目的启动类)。而Screen是LibGDX提供的一个具有完整生命周期的界面原创 2016-01-26 00:32:11 · 2021 阅读 · 0 评论 -
JAVA IO流
在计算机编程中,IO是一项非常重要的内容。I表示Input,O表示Output,即输入/输出。这里所说的输入/输出都是站在应用程序的立场上讲的。输入和输出都必须有源和目标,对于输入,目标就是程序本身,源可能是文件、网络、内存空间、数据库等等。对于输出,上述情况刚好相反。一 、流的概念流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进原创 2016-06-30 21:08:11 · 712 阅读 · 0 评论