Cocos2dX精灵类的封装
2015-08-04 23:31
483 查看
//第一种:精灵类的封装
//.h文件
#include "cocos2d.h"
using namespace cocos2d;
//继承于精灵
class Hook:public cocos2d::Sprite
{
public:
Hook(const string& name);
~Hook();
public:
void hookRotateAction(float);
};//.cpp文件
//第二种:重载一个create的函数,在里面new一个该类的对象
class Hook:public Sprite
{
public:
static Hook* create(const char*);
void hookRotateAction(float);
};
Hook* Hook::create(const char* name)
{
Hook* sprite = new Hook();
if (sprite && sprite->initWithFile(name))
{
sprite->autorelease();
return sprite;
}
CC_SAFE_DELETE(sprite);//<span style="font-family: Arial, Helvetica, sans-serif;">使用delete操作符删除一个C++对象sprite。</span>如果sprite为NULL,则不进行操作,
return nullptr;
}
创建Hook类对象
//.h文件
#include "cocos2d.h"
using namespace cocos2d;
//继承于精灵
class Hook:public cocos2d::Sprite
{
public:
Hook(const string& name);
~Hook();
public:
void hookRotateAction(float);
};//.cpp文件
#include "Hook.h" #include "Miner.h" Hook::Hook(const string& name) { this->initWithFile(name); this->setPosition(Vec2(240, 190)); this->setAnchorPoint(Vec2(0.5, 1)); } Hook::~Hook() {} void Hook::hookRotateAction(float delty) {}
//第二种:重载一个create的函数,在里面new一个该类的对象
class Hook:public Sprite
{
public:
static Hook* create(const char*);
void hookRotateAction(float);
};
Hook* Hook::create(const char* name)
{
Hook* sprite = new Hook();
if (sprite && sprite->initWithFile(name))
{
sprite->autorelease();
return sprite;
}
CC_SAFE_DELETE(sprite);//<span style="font-family: Arial, Helvetica, sans-serif;">使用delete操作符删除一个C++对象sprite。</span>如果sprite为NULL,则不进行操作,
return nullptr;
}
创建Hook类对象
auto Hook = Hook::create("Hook.png"); Hook->setPosition(vec2(100,100)); Hook->setScale(2.0); this->addChild(Hook);
相关文章推荐
- Cocos2d-x android使用onKeyDown监听返回键实现二次返回退出
- cocos2d-x学习之box2d物理引擎打砖块
- Cocos2dX设计模式之单例模式
- Cocos2d-x开发教程 第五节 深入Scene
- cocos2d-x 3.0 CPP项目 添加Testin Crash
- cocos2d-x 3.2 android手机震动
- cocos2d-x 音效
- 在Cocos2d-x中实现较为真实的云彩效果
- Cocos2d-x v3.0 lambda表达式的使用
- Cocos2d-x之helloworld
- Cocos2d-JS 快速入门_01 环境搭建(Mac && Windows集合版)
- Cocos2d-x利用jni调用java层代码
- cocos2d-x 学习笔记之生成Android Apk文件
- quick-cocos2d-x数据存储之GameState
- 【更新】Cocos2d-x使用AssetsManager更新资源和脚本
- Cocos2d-x入门: 序列帧动画实现
- cocos2d-x 在Mac上lua开发环境搭建
- cocos2d-x 声音和音效
- cocos2d-x ClippingNode
- cocos2dx 如何编译android 打包