自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注,努力,勤奋

专注,努力,勤奋

  • 博客(302)
  • 资源 (3)
  • 收藏
  • 关注

原创 cocos2dx之CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO

在CCCallFunc系列动作的4个类中,CCCallFunc调用的方法不包含参数,CCCallFuncN调用的方法包含一个CCNode*类型的参数,表示执行动作的对象。CCCallFuncND调用的方法包含两个参数,不仅有一个节点参数,还有一个自定义参数(CCNode*与void*)。CCCallFuncO调用的方法则只包含一个CCObject*类型的参数。实际上,CCCallFunc系列动

2014-01-15 16:22:14 3592 4

原创 cocos2dx之CCFlipX,CCFlipY

CCFlipX,CCFlipY这两个类都是继承了CCActionInstance,分别是围绕X,Y轴进行旋转,例子代码: CCSprite *sprite1 = CCSprite::create(); sprite1->initWithTexture(texture2d); sprite1->setAnchorPoint(ccp(0.5f, 0.5f));

2014-01-15 15:52:40 7519

原创 cocos2dx之LAYER_NODE_FUNC,LAYER_CREATE_FUNC,SCENE_NODE_FUNC,SCENE_CREATE_FUNC

LAYER_NODE_FUNC自动创建一个layer,SCENE_NODE_FUNC,自动创建一个scene看下源码:#define LAYER_NODE_FUNC(layer) \ CC_DEPRECATED_ATTRIBUTE static layer* node() \ { \ layer *pRet = new layer(); \// new 一个

2014-01-15 11:03:54 2577

原创 cocos2dx之CCLayerColor、CCLayerGradient

CCLayerColor只是用来创建一个有单一颜色的layer,如果想拥有两种颜色的layer的话,那么就需要用CCLayerGradient来创建了。先看CCLayerColor来创建一个单颜色的layer的例子: CCLayerColor *layercolor = CCLayerColor::create(ccc4(255, 0, 0, 255), 100, 100); //lay

2014-01-15 00:14:23 5507

原创 cocos2dx之onEnter,onExit

在创建一个layer时,会自动调用到layer中的onEnter,在退出当前的layer时,会调用到onExit,在CCLayer中,有四个成员方法: void onExitTransitionDidStart();//2,创建完layer的时候调用,也就是1调用完之后调用 void onEnter();//1,创建时调用 void onExit();//3,退出当前la

2014-01-14 17:24:32 15570 3

原创 cocos2dx之node坐标

CCNode与坐标系 Cocos2d-x采用了场景、层、精灵的层次结构来组织游戏元素,与此同时,这个层次结构还对应了游戏的渲染层次,因此游戏元素可以组织成树形结构,称作渲染树。Cocos2d-x把渲染树上的每一个游戏元素抽象为一个节点,即CCNode。一切游戏元素都继承自CCNode,因此它们都具有CCNode所提供的特性。 CCNode定义了一个可绘制对象的通用特性,包括位置、缩放、

2014-01-14 15:36:04 3547

原创 cocos2dx之如何减少纹理所占内存开销

我们在创建游戏的时候,一般都是直接用create来创建,利用create来创建一个简单的ccsprite。例子代码如下: pSprite = CCSprite::create("HelloWorld.png");它会将资源受限存进内存中,然后内存中读取,就可以在屏幕上显示出来了,但是如果我要一下创建10个,100个,或者更多怎么办呢,难道每次调用create(...)把资源一个个放

2014-01-14 15:00:12 5948

原创 cocos2dx之初始化layer

我们在进入layer的时候,首先如果使用默认的方法(LAYER_CREATE_FUNC)初始化,那么它就会进入init,这个方法你可以初始化你的layer和一些sprites,如果你想自己重写layer的onEnter/onExit的话,那么务必请注意,你要在你的onEnter/onExit里面写上基类的Base::onEnter、Base::onExit,否则的话,程序会收不到消息的。举

2014-01-14 10:47:32 4802

原创 cocos2dx之CCDirector

void runWithScene(CCScene *pScene); /**Suspends the execution of the running scene, pushing it on the stack of suspended scenes. * The new scene will be executed. * Try to avoid big sta

2014-01-14 09:53:17 3012

原创 cocos2dx之A星算法

研究了几个小时,看了网上的一些资料,感觉都写得不好,可能是我太笨了,我现在来讲解一下在cocos2dx如何利用A*算法自动寻找目标。我是根据上下左右来进行搜索的,通过不停地去比较F值来取得取得最小代价得到路径:首先:在Map地图中任取2个点,开始点和结束点2,首先判断该点是不是不可以穿越的点,或者是已经再close中了3,如果2步骤为真,什么都不做,如果为假,那么我们就进行添加了4,如果

2014-01-13 23:30:14 3489

原创 cocos2dx之AppDelegate

在创建完了工程之后,我们可以看到AppDelegate这个文件,我们打开看下这里面有什么:AppDelegate::AppDelegate() { //1,构造AppDelegate}AppDelegate::~AppDelegate() {}bool AppDelegate::applicationDidFinishLaunching() {//3,在2初始化完之后进入,结束

2014-01-13 23:28:42 7350

原创 cocos2d之关于对象赋值

在C++中我们赋值都是通过 = 来进行赋值的,不过在此之前,我们应该首先要删掉this的某个指针成员,然后进行内存分配和赋值,但是在cocos2d中呢,我们不这样做了,是先release掉,然后再赋值,看例子代码:void someClass::setObject(CCObject *otherobject) { this->object->release(); otherob

2014-01-13 17:42:14 1163

原创 cocos2dx之release和autorelease

在cocos2dx中,内存管理采用的技术机制,并不是new完之后下一步就delete,它的管理方式是在new了之后,我们需要对它进行计数加1直至这个计数为0的时候,我们才delete掉它。release是在retain后,调用release即刻将计数减1,直至为0的时候,我们才delete掉它。autorelease却不是这样的,在调用了autorelease之后,它将该对象添加到CCPo

2014-01-13 16:24:40 5362

原创 cocos2dx之CCRendTexture

利用CCRendTexture,我们可以动态的渲染纹理,效果很好看,先给例子代码吧,看了网上的一些例子,我都没法掌握(我自己太笨的缘故): CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLayerColor *layercolor = CCLayerColor::create(ccc4(200, 200, 200, 2

2014-01-10 00:13:10 2639

原创 cocos2dx之粒子效果

有时候我们需要做一些特殊的效果,比如子弹爆炸的效果,当然我们用动画也可以做出来,但是有时候发现利用粒子的效果去代替它会跟好看,我们先来看下粒子代码:void ParticleDemoLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); m_pParticleWorld = CCPar

2014-01-07 23:13:53 5924

原创 用Texture Packer打包数据

在网上下了个破解版的Texture Packer来打包数据,这个工具的作用相必都知道,那我就不解释了,我来讲一下怎么使用吧:1,首先打开Texture Packer软件,然后你往里面添加文件夹(许多个Sprite),或者单个添加Sprite也行。2,在添加完毕之后呢,我们需要publish.3,会弹出一个对话框,让你出入保存文件的名字,这个时候要注意了,需要输入your_file_na

2014-01-04 00:06:11 1362

原创 cocos2dx之Chipmunk

Cocos2Dx中本来没有物理引擎的,Box2D、Chipmunk这两个物理添加入cocos2dx中,为了模拟出更好的真实游戏世界,好了,看代码例子吧:typedef enum { SPRITEBATCHNODE_TAG = 1,} BatchNodeTag;MyChipmunkAccelSprite::MyChipmunkAccelSprite() {}void MyCh

2014-01-02 14:38:02 5382

原创 cocos2dx之scheduleUpdate

在cocos2dx中,我们需要不断地去更新某个动作,我们可以用:scheduleUpdate,但是这个时候我们需要重写CCObject中的update方法,初始化scheduleUpdate有两种方法:1,可以在自己的init方法中初始化它。2,可在onEnter中初始化它,但是一定要CCLayer::onEnter()否则执行不到你的update当然,你还可以利用回调

2014-01-02 12:03:11 3794

原创 cocos2dx之CCTMXTiledMap

CCTMXTiledMap:瓦片上地图集类具有如下几个特性:1,每个图素都是一个精灵2,每个图素的精灵类在需要时调用tiltAt函数被创建3.,每个图素都可以进行旋转缩放等设置4,在运行时可以添加和删除5,可以修改Z轴顺序来改变遮挡关系6,每个图素都可以设置锚点7.,每个层都可以添加节点8,每个图素都可以有唯一的标签9,每个图素都可以有唯一的Z轴值

2013-12-24 15:06:34 10018

原创 cocos2dx之CCTableView

在网上查了些资料,我们先开始来创建一个TableView,class MyListViewLayer : public MyListViewLayerBase, public CCTableViewDataSource, public CCTableViewDelegate先继承CCTableViewDataSource,CCTableViewDelegate需要实现CCTable

2013-12-23 21:00:05 6022 1

原创 cocos2dx之CCEditBox

上一篇文章是用到CCTextFieldTTF来创建的一个输入框,现在我们用CCEditBox来创建一个输入框,它是在2.0版本后加入的,好了,看例子吧: CCEditBox *m_InputBox;定义一个editbox; void MyEditBoxLayer::initLayer() { CCSize size = CCDirector::sharedDirecto

2013-12-23 09:18:43 5872 1

原创 cocos2dx之创建一个输入框

在游戏中,有时候修要用户输入用户名密码等,这时候需要用到虚拟键盘来实现,在Cocos2dx中,通过使用集成输入法代理类(CCIMEDelegate)和其字标签类(CCLabelTTF)的输入框类(CCTextFieldTTF)来实现。例子代码如下:class KeyboardNotificationLayer;class MyTextInputLayer : public MyText

2013-12-20 17:14:48 10459

原创 cocos2dx之CCAccelerometerDelegate

CCAccelerometerDelegate的消息处理机制与win32的消息处理机制一样的,由于篇幅太长,我就不详细解答,CCAccelerMeterDelegate例子代码如下:void MyAcceleroMeterLayerTest::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize()

2013-12-20 11:53:08 1866

原创 cocos2dx之锚点

本来想图文并茂的,但是公司电脑不给了,我给个链接也是一样的,我也是参考的,我要贴出的例子也是链接的例子差不多,这样可以有助于理解锚点:点击打开链接

2013-12-19 10:54:36 1675

原创 cocos2dx之CCTouchTargetedDelegate、CCTouchStandardDelegate 吞噬触屏

为了搞懂这个两个到底是咋回事,花费了我一天的功夫,没有办法,我人很笨的,在网上找了好多资料都没有找到关于吞噬触屏,也就是在一个Scene下,多个layer直接如何进行消息的传递和吞噬的。好了,废话不多说,先来了解这个两个"禽兽"吧!CCTouchTargetedDelegate,属于单点触屏,CCTouchStandardDelegate,属于多点触屏我们在实现自己的触屏的时候,需

2013-12-18 16:09:31 3050 1

原创 cocos2dx之文本渲染(CCLabelAtlas,CCLableBMFont,CCLabelTTF)

1,利用CCLabelAtals对文字进行渲染,例子代码如下:void MyLabelAtalsLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLabelAtlas *atlas = CCLabelAtlas::create(" 123456789yfsrbv 23

2013-12-17 15:06:59 5139 1

原创 cocos2dx之CCCardinalSplineBy

基于曲线移动到相应位置,例子代码如下:void MyActionCardinalSplineLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *sprite = CCSprite::create("blocks.png"); sprite->se

2013-12-16 17:36:21 1513

原创 cocos2dx之CCTargetedAction

CCTargetedAction,改变当前执行的sprite,例子代码如下:void MyActionTargetedLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *sprite = CCSprite::create("blocks.png");

2013-12-16 16:30:31 1817

原创 cocos2dx之CCReverseTime

我们一般在做某个一个Action的时候,我们需要返回会用到该sprite的reverse,但是又时候,我需要这种行为再reverse的时候,我就可以利用CCReverseTime达到这种效果,例子代码如下: CCSprite *spriteTint = CCSprite::create("blocks.png"); spriteTint->setPosition(ccp(size

2013-12-16 14:18:18 2765

原创 cocos2dx之CCAnimate创建一个动画

前面的文章中也有例子是创建一个动画,利用的是文件创建,将所有的Sprite加载到一个文件中去,然后读出,现在我们尝试不用文件,直接利用CCAnimate来创建一个sprite动画,例子代码如下:void MyActionAnimateLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize()

2013-12-16 11:23:30 10873 1

原创 cocos2dx之CCTintTo、CCTintBy

CCTintTo、CCTintBy是将sprite的颜色调到你想设置的目标颜色,例子代码如下:void MyActionTintLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); /* *@Tinn */ CCSprite *spriteTint =

2013-12-16 10:40:24 7051

原创 cocos2dx之CCScaleBy,CCScaleTo

如果我们需要对一个sprite进行缩放,那么我需要用到这个CCScaleBy/TO了。代码例子如下:void MyActionScaleLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *spriteTo = CCSprite::create("leftSe

2013-12-15 22:23:40 3728

原创 cocos2dx之cCCSpawn

如果我们需要将两个不同的动作组合到一起,那我们就用CCSpawn,等下讲一下它和CCSequence的区别: CCSprite *spriteSpaw = CCSprite::create("leftNormal.jpg"); spriteSpaw->setPosition(ccp(size.width / 2.0f, size.height / 2.0f)); th

2013-12-15 17:29:22 6684

原创 cocos2dx之CCJumpTo、CCJumpBy

CCJumpTo:把某一CCSprite跳到某一位置CCJumpBy:把某一CCSprite跳起一段距离,它有一个方法reverse,它让对象按原路径返回例子如下:void MyActionJumpLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); /* *

2013-12-13 14:43:48 8525

原创 cocos2dx之CCRotateTo、CCRotateBy

我学习的这个版本是2.0版的,后面版本都已经更新了,所以在使用改变CCRotateTO、CCRotateBy改变运动需要借助其他的成员方法,下面的例子是在2.0编写的:void MyActionRotateLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); /* *

2013-12-13 11:40:13 7815

原创 cocos2dx之MoveTo,MoveBy

void MyActionMoveToLayer::initLayer() { /* *@MoveTo,移动到某个Point */ CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *spriteMoveTo = CCSprite::create("snow.png");

2013-12-13 11:00:37 20642

原创 cocos2dx之FadeIn,FadeOut,FadeTo

void MyActionFadeLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); /* *@FadeTo */ CCSprite *spriteFadeTo = CCSprite::create("r1.png"); spriteFadeTo

2013-12-12 23:36:47 26178 4

原创 cocos2dx之如何延时当前动作

在执行某个行为动作的时候,有时候根据需求,可能需要暂停一段时间,然后继续执行,这个时候我们可以用到,CCDelayTime这个类,它是CCActionInterval的派生类。好,现在我们来看一下如何创建一个延时的行为动作,代码如下:void MyActionCCDelayTimeLayer::initLayer() { CCSize size = CCDirector::shar

2013-12-12 16:54:14 9912 2

原创 cocos2dx之闪烁效果-CCBlink

想让自己创建的sprite有闪烁的效果 ,就需要利用到CAction的派生类:CCBlink了,详细代码如下:void MyActionCCBlinkLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *spriteBlink = CCSprite::cr

2013-12-12 16:18:17 16672 1

原创 cocos2d之CCBezierBy,CCBezierTo

http://blog.csdn.net/we000636/article/details/8616355,这篇文章写得很详细,我在此基础上写了个例子,代码如下: void MyActionBezierLayer::initLayer() { CCSize size = CCDirector::sharedDirector()->getWinSize(); CCSprite *pS

2013-12-12 00:34:07 5312

Java手游源码 炫舞派对源码(解锁版)eclipse可以打开 .zip

Java手游源码 炫舞派对源码(解锁版)eclipse可以打开

2019-06-12

MYSQL必知必会

对MYDQL的一个全面、详细的了解和掌握需要知道的

2012-10-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除