cocos2d-x基础学习--编写自己的精灵类
2014-12-15 19:40
260 查看
近来的空余时间比较充分,出于个人的兴趣,来学习一下cocos2d游戏开发。在cocos2d中最基本,也最经常使用的就是精灵类,对于游戏中的不同人物,我们经常使用自己类对精灵进行一个封装,做个简单的笔记,如何封装自己的精灵类。
第一步:重写自己的精灵类继承基类Sprite,实现virtual方法init
1)头文件:
2)init方法
第三步:在scene类中添加sprite
第一步:重写自己的精灵类继承基类Sprite,实现virtual方法init
1)头文件:
#include "cocos2d.h" #ifndef _MY_SPRITE_ #define _MY_SPRITE_ class MySprite : public cocos2d::Sprite{ public : virtual bool init(); static MySprite* create(); //CREATE_FUNC(MySprite); } #endif // !_MY_SPRITE_
2)init方法
bool MySprite::init(){ if(!Sprite::initWithFile("image.png")){ return false; } //在这里进行一些精灵类的设置 setScale(0.5f, 0.5f);//设置缩放 setRotation(90);//顺时针方向 return true; }第二步:实现静态方法create方法,在create方法中创建新的MySprite,并调用init方法,同时将MySprite的生命周期交给程序来控制
MySprite* MySprite::create(){ MySprite * sprite = new MySprite(); if(sprite->init()){ sprite->autorelease();//有程序控制sprite的生命周期, } else { delete sprite; sprite = NULL; return NULL; } return sprite; }如果我们在头文件中声明CREATE_FUNC(MySprite),则表明我们主动实现了父类中没有参数的create方法
第三步:在scene类中添加sprite
auto s = MySprite::create(); s->setPosition(Vec2(visibleSize.width/2 , visibleSize.height/2 ));//设置精灵的位置 this->addChild(s);我们也可以向create和init方法中加入参数来区分自己的精灵类,这时就不能在使用CREATE_FUNC的宏。
相关文章推荐
- (转)cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)
- Cocos2d-x精灵学习笔记 分类: cocos2d代码编写 2015-07-27 17:17 5人阅读 评论(0) 收藏
- Roope的Cocos2d-x学习之旅 001:基础概念学习——导演、场景、层、精灵
- 基于Cocos2d-x学习OpenGL ES 2.0系列——编写自己的shader(2)
- cocos2d-x(3): 创建精灵基础学习
- cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。
- Cocos2d-x中的基础概念学习笔记 分类: cocos2d代码编写 2015-07-27 17:08 5人阅读 评论(0) 收藏
- 基于Cocos2d-x学习OpenGL ES 2.0系列——编写自己的shader(2)
- 游戏基础元素之精灵——Cocos2d-x学习历程(九)
- cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。
- cocos2d-x学习笔记(三)让精灵按照自己设定的运动轨迹行动(曲线移动)。(以椭圆轨迹为例)。
- cocos2d-x学习日记 - 1. 基础概念 - 导演, 场景, 层, 精灵
- 【吼吼睡cocos2d学习笔记】第三章 - 基础知识
- cocos2d开发学习五:精灵节点CCSpriteBatchNode的渲染和纹理集Texture Atlases内存优化
- JavaScript 学习笔记之二:编写自己的jQuery扩展分页插件(分享yQuery)
- Cocos2d-x学习笔记(三) —— 如何移动精灵
- Cocos2d-x学习笔记(二) —— 如何添加一个精灵
- cocos2d-x学习笔记20:切片动画库编写要点
- 黑马程序员之C#编程基础学习笔记:编写聊天机器人,如果向机器人说"今天天气怎么样?"则回答天气,如果向机器人说"88",则回答再见“。
- Oracle基础学习四之表的定义及脚本编写二