最近一直都在x86设备上进行游戏开发,就c++层和Android java层倒没有什么要特别注意的(除了需要注意一下修改Application.mk指定平台外),在c++崩溃的时候,很多时候看不到堆栈,只能看到一个信号,所以由于工作需要,使用google breakpad来进行异常捕捉。谷歌被墙很麻烦,索性就把breakpad打包放这里供需要的童鞋下载,google breakpad下载。1.下载google breakpad下载地址是 http://code.google.com/p/google-breakpad/source/...
这里主要为敌人添加了一个移动动作和攻击动作。移动动作是很简略的我动他也动的方式。攻击动作是很简单的我打他也打的方式。效果:代码:#ifndef __Progress__ #define __Progress__ #include "cocos2d.h" USING_NS_CC;class Progress : public Sprite { public:bool init(constchar* background, constchar* fillname);/*the inputs are SpriteFrame Names.they should be loaded into SpriteFrameCache before calling this.*/st...
clippingNode是利用opengl的裁剪缓冲区实现的,因为最近有使用这个功能需要,顺便把这部分实现看看了看。 opengl的裁剪主要有以下几个步骤:1、开启裁剪缓冲区2、设置裁剪缓冲区中的mask。3、正常绘制图形,这个时候会根据裁剪缓冲区的值和设置好的比较函数进行计算,根据通过与否选择是否会知道framebuffer4、绘制完成之后关闭裁剪缓冲区这几个步骤在cocos2dx的clippingNode中体现在以下的这段代码中:<pre name="code" class="...
一、单点触摸关于单点触摸事件的创建和监听有以下几个步骤:1,创建一个空间如labelTTF,并且初始化,添加控件进层2、设置一个事件监听器,并且定义和实现他的回调函数。3、最后让导演将前面定义的监听器按照监听器和监听事件对应的方式添加进来。<span style="font-size:18px;"> Size visibleSize = Director::getInstance()->getVisibleSize();Vec2 origin = Director::getInstance()->getVisibleOrigin();auto label = LabelTTF...
一、横屏、竖屏设置1、androidAndroidManifest.xml文件中,screenOrientation="landscape" 为横屏,screenOrientation="portrait"为竖屏2、iOS- (NSUInteger) supportedInterfaceOrientations{ #ifdef __IPHONE_6_0 // 横屏显示 // return UIInterfaceOrientationMaskLandscape; // 竖屏显示 return UIInterfaceOrientationMaskPortrait; #endif } 二、读写sd卡 AndroidManifest.xml文件中,先增加权限:FILE *fp ...
SimpleAudioEngine类中加入一函数如下bool isEffectPlaying(unsigned int nSoundId); 定义如下 bool SimpleAudioEngine::isEffectPlaying(unsigned int nSoundId) {EffectList::iterator p = sharedList().find(nSoundId);bool bRet = false;if (p != sharedList().end()){bRet = p->second->IsPlaying();}return bRet; } 完成原文:http://blog.csdn.net/xie1xiao1jun/article/details/41283555
最近写代码需要用到缩放,而且是Layer的,但是发现怎么设置位置都是错误,于是决定研究下。首先,基础代码,代码上不错特殊处理,没有锚点设置和缩放class TestLayer : public Layer {public:bool init();CREATE_FUNC(TestLayer); };bool TestLayer::init() {if (!Layer::init()) {return false;}Sprite *dd = Sprite::create("item_gift1.png");this->addChild(dd);this->setContentSize(Size(200, 200));// 打印几个点参照用Laye...
原文地址 http://blog.csdn.net/jhonlight/article/details/38408351 今天一个群友问我: 我Scene里放置一个Layer,Layer盛放一张图片,即背景图片,我想更换这张图片,而且要求带有系统提供的切换Scene 淡入淡出的效果,于是我用Director类的切换用系统提供的切换动画包装的scene,但是效果是整个scene都被切换了,而我想要的是只有背景变化,其余的不变。 大家都知道,这样做当然不可以,Director(...
这里主要讲构建整个游戏需要的基本元素,很大部分都摘自cocos2dx官网。 1、Director 导演导演,顾名思义,就是对整个游戏进行整体控制的。“Director”是一个共享的(单元素集)对象,负责不同场景之间的控制。导演知道当前哪个场景处于活动状态,允许你改变场景,或替换当前的场景,或推出一个新场景。当你往场景堆中推出一个新场景时,“Director”会暂停当前场景,但会记住这个场景。之后场景堆中最顶层的场景跳离时,该场景又会...
近期开发cocos2dx 项目,做一个小游戏。(个人喜欢用最新版本号) 没系统学习就是问题多多,遇到了非常多问题,比方全部的opengl api都必须在主线程中调用,这让我在多线程载入方面吃了不少亏,浪费了非常多时间。 这次遇到了输入框中输入中文出现乱码问题。搜索了非常多方法,都没找到。没办法。可是知道cocos2dx 2.x版本号没有这个问题,所以就仅仅有跟进代码了。首先 找到2.x中找到WM_CHAR的派发消息:在platform/win32/下的CC...
游戏中经常会用到文字描边和阴影,当cocos2dx中并没有给我们提供,下面是我参考:点击打开链接(http://blog.csdn.net/song_hui_xiang/article/details/17375279)自己弄了一个,基本上是一模一样,不喜勿喷!代码如下:思路:多个CCLabelTTF重叠在一起。头文件// // CLabel.h // XXX // // Created by user on 14-3-4. // //#ifndef __XXX__CLabel__ #define __XXX__CLabel__#include <iostream> #include "cocos2d.h"USING_NS...
【本节内容】 定时器在大部分游戏中是不可或缺的,即每隔一段时间,就要执行相应的刷新体函数,以更新游戏的画面、时间、进度、敌人的指令等等。 cocos2dx为我们提供了定时器schedule相关的操作。其操作函数的定义在CCNode中,所以基本上大多数的引擎类都可以设置定时器,如CCLayer、CCSprite、CCMenu等。定时器更新的方式分为三类: (1)默认定时器:scheduleUpdate(); (2)自定义定时器:schedule(); (3)一次...
认识着色器 理解OpenGL渲染管线,对于学习OpenGL非常重要。下面是OpenGL渲染管线的示意图:(图中淡蓝色区域是可以编程的阶段)此图是从wiki中拿过来的,OpenGL的渲染管线主要包括:准备顶点数据(通过VBO、VAO和Vertex attribute来传递数据给OpenGL)顶点处理(这里主要由Vertex Shader来完成,从上图中可以看出,它还包括可选的Tessellation和Geometry shader阶段)顶点后处理(主要包括Clipping,顶点坐标归一化和viewport变换)...
在游戏中,我们经常会遇到要显示一大段中文对话,这时就需要加载一些自定义的汉字格式,直接由美术生成一堆图片对手机来说太耗费内存,此时hiero就应运而生了。Hiero可以把所有的字符包括汉子,以特定的字体生成png以及tnf文件,直接在程序中代码编程即可实现丰富多彩的汉子内容显示。1、 hiero下载链接:http://download.csdn.net/detail/u010229677/69925012、 hiero使用方法最后单击文件即可保存png,1、 程序加载方法1、首先...
1. 准备工作(1)VS2012(2)cocos2dx cn.cocos2d-x.org/download(3)python 新版本的cocos2dx 需要python编译2. 安装软件(1)VS2012 从官网下载并安装(2)python 安装:下载地址: www.python.org/download/ (3)cocos2dx 安装① 解压下载的cocos2dx ,我下载的版本cocos2dx 3.2②然后进入D:\cocosDevelop\cocos2d-x-3.2\cocos2d-x-3.2\build,打开cocos2d-win32.vs2012.sln文件,将cpp-tests设为启动项(右击cpp-tests,设置...