您的位置:首页 > 移动开发 > Cocos引擎

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文件
#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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息