//第一种:精灵类的封装
//.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)
{}
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);