养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

libgdx:[23]使用游戏类图

时间:2024-10-29 05:30:53

此篇主要介绍类图的使用

工具/原料

libgdx

eclipse

UsingaclassdiagramforCanyonBunny使用CanyonBunny的类图

1、我们现在仔细观察一下CanyonBunny的结构.一个所谓的类关系视图是用来帮助我们用一种标准化和结构化的观念来看待和理解程序类之间的关系。类关系视图如下所示:

libgdx:[23]使用游戏类图

2、这这个类关系图中,你訇咀喃谆将会看到很多游戏中使用的类。它也展现出关于类的重要信息,还有他们是如何相互关联的。首先,在我们继续往下之前,请不要排斥这些框图连线和指向每个方向的箭头。I荏鱿胫协ncaseyouarenotfamiliarwithOtherwise,simplyskiptothenextparagraphtocontinue.大致的看一下类关系图/UML(统一建模语言),快速阅读以下后面的信息提示框,里面有一些有利于你看懂类图的简要说明信息。否则,就跳到下一段继续。

3、每个类都在一个框中。如果是一个特殊类,它会出现在书名号中:«interface»«abstrac隋茚粟胫t»。一个没有箭头的连线表示两个类之间是母皿钟床双向性的关系,表示他们相互依赖才能正常的工作。如果一个线的一边又一个实心的箭头,表示这个类完全依赖它指向的类,反过来并不适用。另外如果一个连线一端有一个空心的箭头,通常表示实现类指向它的父类,或者是接口或者是抽象类。最后数字表示多重性,或者说是可以存在多少个类的对象实例,语法如下:•0..1:Thisindicateszerooroneinstance.Thenotationn..mindicatesntominstances.表示0或1个实例,n..m表示n到m个实例•0..*or*:Thisindicatesthatthereisnolimittothenumberofinstances(includingnone).这表示实例个数无限制•1:Thisindicatesthatthereisexactlyoneinstance.这表示有且只能有一个实例•1..*:thisindicatesthatthereisatleastoneinstancebutnolimittothenumberabovethis.最多只能有一个现在你可以看懂类图上的信息啦。

4、在类图的顶部,你看到CanyonBunnyMain.这是游戏的启动类。因此必须实现Libgdx提供的ApplicationListener接口.它包括一个资源索引类来组织和简化访问游戏资源.有两个以上引用指向WorldController和WorldRenderer.

5、Worldcontroller类包括所有的游戏逻辑来初始化和改变游戏世界。它还要访问CameraHelper,一个相机的帮助类,例如让它可以指向并跟随游戏中的任何一个对象;Level管理所由的关卡有关的数据。;和一个AbstractGameObject类的实例的列表,代表任何游戏世界中存在的游戏对象。

6、WorldRenderer替代了rendering的位置显然地它要频繁地寻址AbstractGameObject类的实例列表。因此游戏的对象需要在做出修正和rendering进程之前被创建,在游戏开始时,当关卡数据从level文件中加载时Level同样需要寻址AbstractGameObject类的实例列表。

7、还有什么没有说的,茧盯璜阝就是类图最下面一行的类,他们都指向abstract类,AbstractGaeObject.他们都实现一个这个类的特殊类型。因此表现出一个通用的功能辑湃形傥作为一个可以在游戏世界里被渲染的一般游戏对象。此外,这些类都被聚集在一起放在这个视图里,来标示他们在这个游戏中的作用。你可以再瞥一眼第一章的最后,介绍libgdx项目创建的,然后快速的看一眼草图上所有游戏的对象。这里是一个队类模块的一个简要的介绍。

8、玩家角色峡谷兔子的头:代表玩家由游戏者控制关卡物体石头:代表一个平台,有左边和右边。中间可以被设置成任意的长度,这是地面玩家可以在上面移动。关卡物品:金币:代表一个商品玩家捡起时就会怎家玩家的得分。羽毛:它代表的是一种力量,将授予飞的能力玩家的角色时,拿起。

9、关卡的装饰水面:它连接到相机的水平位置,无论什么时候相机移动它也会在x轴移动山:两个大山以不同的速度移动用来造成视觉上的错觉云:一朵云在慢慢的向左移动。

© 一点知识