粒子、地图

前端之家收集整理的这篇文章主要介绍了粒子、地图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在自然界中,我们会经常看到大规模一起运动的物体。如下雨,起雾,尘埃,星辰等等。而在游戏中,有时需要模拟这些做出很炫的游戏特效。制作方法有两种:一是用帧动画模拟,缺点是体积大,不灵活,效果固定死。二是用粒子模拟,整个特效由大量的粒子对象共同晚餐呈现,只要定时更改每个粒子对象的状态。
cococ2dx框架为我们提供了粒子系统( ParticleSystemSystem),包括粒子发射,更改状态及粒子生命周期结束后的回收。粒子使用很简单,可以通过下面方法创建粒子对象:
  1. CCParticleSystemQuad*emitter1=CCParticleSystemQuad::create("Particle/BurstPipe.plist");
因为粒子继承CCNode类,所以可以直接添加到父CCNode里看效果。框架提高的常见粒子有: CCParticleFireCCParticleSnow, CCParticleSun等。我们如果想定义自己需要的粒子效果,最好基于某个类似的粒子修改。咏代码调粒子效果繁琐而不看见。在mac系统有ParticleBuilder粒子编辑工具,收费,可找破解版的。在window系统有particleEditor粒子编辑工具,免费。利用这些工具可以制作出炫酷的粒子效果
游戏中包含多个场景,如果每个场景都设计个背景地图,誓必造成资源的浪费,而瓦片地图就解决了这个问题。瓦片地图的原理就是将一张大图由很少的几个瓦片组合而成,每个瓦片代表了一个图片,大大节省了资源。
瓦片地图的分类
瓦片地图可以有三种分类:直角地图、斜角地图和六边形地图。
瓦片地图中核心概念
在瓦片地图中有一些基本的概念需要我们了解一下,这些概念包括:层、瓦片、瓦片地图坐标和全局标识。
1、层
瓦片地图由地图层组成,我们可以对层进行创建、删除、隐藏和显示等操作。 层可以分为:普通层和对象层。普通层用来绘制一些地图基本要素,这些地图要素基本上是固定的。 对象层中可以圈出一些区域,一个区域就是一个对象,用来设置一些属性,我们可以获得通过代码获得这些对象属性 2、瓦片
瓦片(tiles)是构成层最小要素,有些人将tiles翻译为“瓷砖”,我觉得“瓦片”更加贴切,事实上地图中的层就是由这些“瓦片”铺设而成的。地图中所需要的瓦片被设计到一张大的图片中,这种文件叫“瓦片集。 3、瓦片地图坐标
在瓦片地图中有自己的一套坐标,地图的最小单位是瓦片,一个瓦片占有一个坐标点。不同类型的地图它的坐标是不同的。 直角瓦片地图坐标,坐标原点在左上角。 斜角瓦片地图坐标,坐标原点在菱形地图的顶点。 4、全局标识
瓦片地图中的每一个瓦片都拥有一个唯一的编号全局标识(Global IDentifier,缩写GID),用于在地图中查找某个瓦片。全局标识是从1开始的,如果为0,则说明瓦片为空,我们可以利用全局标识来判断某个坐标下是否存在瓦片。

免费的瓦片编辑工具有titlemap,编辑导出的文件可以使用框架提供的 TMXTiledMap类加载,他也是CCNode对象, TMXTiledMap里包含 TMXLayer、 TMXObjectGroupTMXLayer里包含瓦片对象,每个瓦片都有gid指,通过坐标查找瓦片gid,坐标处没有瓦片返回0。


注:
  • armeabi与armeabi-v7a表示支持不同的cpu类型

armeabi是指的该so库用于ARM的通用cpu,而v7a的cpu支持硬件浮点运算。因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a cpu的能力,在AIR打包APK调试模式adobe选择的是通用性强的armeabi模式。

android2.0以下的系统只支持 armeabi类型,因为现在大部分手机都支持 armeabi-v7a类型,在兼容性和追求效率方面, armeabi-v7a目前是最好的选折,如果不介意包大,可以都选上。

猜你在找的Cocos2d-x相关文章