[libGDX游戏开发教程]使用libGDX进行游戏开发(1)-游戏设计
声明:《使用Libgdx进行游戏开发》是一个系列,文章的原文是《Learning Libgdx Game Development》,大家请周知。后续的文章连接在这里
这是一场旅程的开始。
我们将要使用Libgdx来开发一款功能俱全的游戏--CanyonBunny峡谷兔子,一个控制兔子跑酷吃金币的平台游戏。
对于程序员来讲,实践是最快的学习方法。所以建议大家从头到尾的实践一遍先,当然,要注意一些基本的提示。
在开始之前,我们要构思一下我们准备开发的游戏,最好能编写一份游戏设计文档。
(游戏设计文档是一个游戏成功的基本前提。如果你没有事先做好游戏设计文档,那么你的游戏可能永远没有完成的那一天,哪怕它再简单。)
构思之后,开始动手,首先使用Libgdx Project setup创建游戏工程。
•Name: CanyonBunny
•Package: com.packtpub.libgdx.canyonbunny
•Game class: CanyonBunnyMain
•Destination: D:\gamedev\CanyonBunny
•Generate the desktop project: 勾上
像这样:
游戏名称:CanyonBunny,加载工程之后记得把Android里的名称改掉,默认的值是<string name="app_name">My LibGDX Game</string>
首先构思游戏基本框架(OOP):不懂类图也不要担心,可以边做边看,以后看得多了就懂了。
在这个类图里面,包含了该游戏所有的类。(包括重要的类的描述和它们之间的关联)
首先, 不要被类图的这些线啊箭头啊方框啊吓到. 可能你并不熟悉类图或者UML (Unified Modeling Language),不要担心,直接看我解释吧.
【每个类用一个方框代表,上面有«abstract»的表示抽象类,«interface»的表示接口。】
【线用来表示类之间的关系:不带箭头的线表示两者之间相互依赖。带实心箭头的表示该类需要指向的类才能正常工作。空心箭头通常都是指向基类/接口的实现类】
【数字0..*是指对应的类的实例的个数关系,是1个对1个实例还是有很多个实例】
下面我解释一下:
• 玩家角色
°° BunnyHead: 它表示玩家控制的角色.
• 关卡对象
°° Rock: 它表示一个有边的从左到右的平台 , 中间长度任意.就是关卡的地面.
• 关卡道具
°° GoldCoin: 它表示一个金币,玩家碰到了增加玩家的分数.
°° Feather: 它表示一个羽毛,玩家碰到了可以飞.
• 关卡装饰
°° WaterOverlay: 它表示水面,它跟摄像机是横向绑定的,所以一直看得见.
°° Mountains: 它表示两座用不同的速度移动的山,模拟一个视差效果.(Parallax视差效果是游戏中惯用的手段)
°° Cloud: 它代表了一个在天空慢慢从右移动到左边的云.
提示:对于游戏程序员来讲,先将自己的游戏设计类图画出来然后进行编码是一个好习惯。
试试根据上面的类图实现WorldRender,WorldController,CanyonBunnyMain的代码结构。