有谁还记得小时候玩的小霸王里的游戏?比如坦克大战、冒险岛、魂斗罗、吞食天地等,他们大部分都是基于Tile地图的游戏。但在手游中,基于瓦片地图的游戏很常见。如:《保卫萝卜》。瓦片地图有专门的地图编辑器:Tiled Map Editor 。先给大家看个酷炫的图吧。此图来自:Cocos2d-x初入学堂(1...
在3.x版本,Cocos2d-x采用全新的根类 Ref ,实现Cocos2d-x 类对象的引用计数记录。引擎中的所有类都派生自Ref。1、引用计数引用计数的概念参考《维基百科》:引用计数——维基百科Cocos2d-x 提供引用计数管理内存。> 调用 retain() 方法:令其引用计数增1,表...
1.纹理像素格式纹理优化工作的另一重要的指标是纹理像素格式,能够最大程度满足用户对保真度要求的情况下,选择合适的像素格式,可以大幅提高纹理的处理速度。而且纹理像素格式有与硬件有这密切的关系。下面我们先了解一下纹理像素的格式,主要的格式有:RGBA8888。32位色,它是默认的像素格式,每个通道8位(...
通常而言当我们移动时,我们会看到离我们越近的物体,会移动的越快,越远的物体,比如远处的山会移动的很慢,而最远处的物体,比如太阳几乎不动,这个现象叫视差。 而在游戏中模仿视差,可以让玩家感觉到游戏中的角色的确是在移动。Cocos提供了 ParallaxNode 视差节点类,可以很容易的建立...
由于背景图片长时间在场景中保存,而且图片很多,我们可以对其进行一些优化。我们通过如下几个方面考虑优化:1、不要Alpha通道背景图片的特点是不需要透明的,所以纹理格式可以采用不带有Alpha通道格式,所以RBG565格式比较适合背景图片。2、拼图背景图片与其它的图片纹理格式的不同,我们在创建精灵表的...
Cocos引擎主要有三种缓存类,分别是纹理缓存、精灵帧缓存和动画缓存。即:> 纹理缓存:TextureCache> 精灵帧缓存:SpriteFrameCache> 动画缓存:AnimationCache缓存的目的就是:先将所需资源(如纹理图片)加载到内存中,之后再次使用该资源的时候...
Cocos2d-x中提供了非常丰富的动作特效。例如:网格动画,扭曲特效,3D瓷砖波动特效程序代码:#include “ActionEffect.h”#include “HelloWorldScene.h”static const char* _actionName[] ={“CCFadeOutBLT...
观察者模式也叫订阅/发布(Subscribe/Publish)模式,是 MVC(模型-视图-控制器)模式的重要组成部分。 举个例子:邮件消息的订阅。 比如我们对51cto的最新技术动态频道进行了消息订阅。那么每隔一段时间,有新的技术动态出来时,51cto网站就会将新技术的新闻自动发送邮...
Cocos2d-x 修改图标和屏幕方向,程序名当做出一个游戏后,编译成apk安装在手机上,你会发现程序名和图标都是默认的,而放心默认是横屏,那么在哪里改呢?打开工程->proj.android,找到AndroidManifest.xml并打开:package="com.pianotiles.o...
1、appstore信息完善首先肯定有一个可以发布产品的开发者账号,有一个可以运行应用的开发环境,IAP只能真机测试,我们必须有一台IOS设备。我们进行的所有操作都是在mac上面进行的,测试都是真机。在测试中我们肯定不希望真实的去付款,别着急,在开发者账号里面我们可以添加一个测试账号,简单方便,即就...
在许多游戏中,因为有些需要一些炫目的效果。比如我们有时会需要在某个游戏对象上的运动轨迹上实现拖尾渐隐效果,这种感觉就好像是类似飞机拉线似的拖尾巴,使我们的游戏在视觉上感觉很好。比如:刀光、子 弹的运动轨迹、流星划痕等等。Cocos2d-x提供了一种内置的拖尾渐隐效果的实现方法:Moti...
1. 基本概念本篇文章是介绍简单数据存储的Userdefault类,在API中:就是存储一些简单的数据,比如声音的开启关闭,音效的开启关闭,最高分,金币数量的存储这些东西。2. 获取这些都是基于一些基本类型的,比如int,float,double,bool,string,二进制 这些东西,对于它们的...
思路像所有语言一样,绑定回调主要是执行的任务执行到特定情形的时候,调用对用回调方法。 本文也一样,Lua注册回调到C++的核心思路是,当C代码执行到特定特定情形的时候,调用Lua的方法。我这里使用的是用lua_stack直接调用lua的方法,没有使用Cocos2d-x封装的那个dispatcher,...
程序实例:ProgressTimer实现效果1首先在工程目录下的Resource文件夹中添加两张图片 然后定义一个Progress类在Progress.h中添加下面的代码#ifndef _Progress_H_#define _Pro...
按钮类CCControlButton继承于控件类CCControl,控件类CCControl主要向子类提供了一系列的控件触发事件。当子控件触发相关的事件后,就会执行相关的控件事件回调函数。这与之前讲的CCMenu中的菜单按钮回调是类似的。控件类CCControl主要有三个子类:(1)开关控件CCCo...
大部分游戏中定时器是不可或缺的,因为即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面、时间、进度、敌人的指令等等。 Cocos2d-x为我们提供了定时器schedule相关的操作。其操作函数的定义在CCNode中,所以基本上大多数的引擎类都可以设置定时器,如CCLayer、CC...
XML即可扩展标记语言,在游戏开发中,常用于保存游戏信息,如最高分,游戏等级,等信息,和描述一些资源等,我第一次使用XML是在《使用CCAnimation创建动画》中,使用plist文件加载动画时,使用了XML文件其中plist文件其实就是一个XML文件,在Cocos2d-x中使用瓦片地图(一)和在...
自从Cocos2d-x 3.0引用了C++11标准后,回调函数采用的新的函数适配器:std::function、std::bind。而曾经的回调函数menu_selector、callfunc_selector、cccontrol_selector等都已经被无情的抛弃了。取而代之的则是一系列的CC_...
首先说说HTTP与Socket概念性的一些认识:Socket通常称为“套接字”,用于描述IP地址和端口。套接字类型分为:1> 流式套接字:提供面向连接,可靠的数据传输服务,数据无差错,无重复的发送,且按顺序接收,基于TCP协议。2> 数据报式套接字:提供无连接服务,数据以独立形式发关,不...
1、概念“混合”是指两种颜色的叠加方式。在新图片将要渲染画到屏幕上的时候,将用在新图片中的红、绿、蓝和透明度信息,与屏幕上已经存在的图片颜色信息相融合。说的具体一点,就是把某一像素位置上原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果。新图片颜色被称作“源颜色”,而屏幕上已存在...