您的位置:首页 > 其它

libgdx游戏引擎开发笔记(六)舞台、演员、动画综合讲解

2013-08-10 15:24 459 查看
今天要讲解的舞台和演员是libgdx游戏引擎中重要的两个类,先简单介绍一下,待会用个显示动画的实例来综合应用一下!先上一张图: 在这张图中,我们可以看到有动的小鸟,不动的按钮,有特效,没有特效。。。。等等这些都称之为演员,而管理这些演员的自然就是舞台了。一.介绍1.Actor 演员类: 定义:在二维场景图中,一个演员拥有的位置,矩形的大小,起点,规模,旋转,和颜色等属性。位置对应且不成比例。演员的位置是相对于演员的父母,它的起点是相对位置,同时可用于缩放和旋转。一个演员也有一个行动,可以操纵的演员在时间段内活动,同时可以加入监听来实现演员接收事件通知。 演员是游戏设计中常用的一个对象,它接受舞台的统一管理,拥有一些公共的事件,比如触摸,点击,但是同时还有自身的响应和属性。2.Stage 舞台类: 定义:包含拥有层次结构的一个二维场景,场景中有许多演员。期处理视图和分配的输入事件。舞台负责操作视角,和处理分配输入事件。 一个Stage可以充满整个屏幕。设置视角(一般是浮点型和布尔类型),同时设置阶段内使用的相机,调配 Actor、Group 与 Screen 之间的关系转换(包括坐标)。一个Stage必须负责接收输入事件,同时将它分配给演员。这通常是通过Stage的gdx.input.setinputprocessor来实现。一个inputmultiplexer可用来处理输入事件的不同阶段,即之前或之后。如果一个演员通过返回TRUE从输入的方法中处理一个事件,那么Stage的输入方法也会返回true,导致随后的inputprocessors不接收事件。[b][b](可以参考/article/4123682.html那副结构图就更明了了)[/b][/b]3.Aniamation 动画类: 定义:动画是由多个帧,在设定的时间间隔序列显示。比如,一个走路的人一个动画可以通过运行时播放这些图像无限拍照他了。简单的说就是管理动画,设置随即播放模式和播放顺序。二.代码实现 1.功能:点击屏幕出现宠物的移动动画(不清楚的直接看注解哦!) 2.代码:程序入口:
主界面:
一个演员类:
效果图:分析:1.在MyGame类中,我们实例化了舞台和演员,在render()中让舞台开始绘画,里面所添加的各种演员就会自动调用自己的draw()进行绘画,不需要手动调用的哦! 2.这里们还使用了AssetManager:一个资源异步加载和资源自动管理类,简单介绍一下: 2.1什么时候需要资源预加载? (资源预加载的目的很明确,提升用户体验。当然就开发者而言,比较好的预加载实现方式还可以方便管理。) 1.资源数量大:音乐、图片、视频什么的,如果你的游戏这些东西太多,推荐使用 2.部分资源反复使用:有些资源会反复使用到,比如一些背景音乐,一些小图标 2.2下面资源类型可以由AssetManager直接创建:Pixmaps、Textures、BitmapFonts、TextureAtlases、TiledAtlases、TileMapRenderers 、 Music instances、 Sound instances、 加载某个资源很简单:
2.3. 在加载前,AssetManager需要知道加载什么类型的资源,这个功能通过资源加载器实现。有两个变量,同步资源加载器SynchronourAssetLoader和异步资源加载器AsynchronousAssetLoader。前者加载任何资源都在渲染进程中,后者加载资源在另外一个线程中。比如说,一个Texture需要一个Pixmap,然后加载OpenGL依赖于渲染线程。 2.4.
manager.load()方法只是将资源放入加载列表,而真正的加载要不停地调用manager.update()才可以,这个方法也是render()中系统自己调用的哦!
ok! 有点扯远了哈!Stage和Actor的简单使用就是这些,同时我们也应该关注AssetManager,这个资源管理类!
   源码下载:http://down.51cto.com/data/885211
本文出自 “狂奔的蜗牛” 博客,请务必保留此出处/article/4123679.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐