mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-10 04:36:57 +08:00
Merge pull request #333 from IgorMats/master
Cocos2d-x: changes for JSB support.
This commit is contained in:
commit
ba792fa07d
@ -100,7 +100,6 @@ void SkeletonAnimation::initialize () {
|
|||||||
|
|
||||||
SkeletonAnimation::SkeletonAnimation ()
|
SkeletonAnimation::SkeletonAnimation ()
|
||||||
: SkeletonRenderer() {
|
: SkeletonRenderer() {
|
||||||
initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData)
|
SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData)
|
||||||
|
|||||||
@ -76,7 +76,7 @@ public:
|
|||||||
|
|
||||||
spAnimationState* getState() const;
|
spAnimationState* getState() const;
|
||||||
|
|
||||||
protected:
|
CC_CONSTRUCTOR_ACCESS:
|
||||||
SkeletonAnimation ();
|
SkeletonAnimation ();
|
||||||
SkeletonAnimation (spSkeletonData* skeletonData);
|
SkeletonAnimation (spSkeletonData* skeletonData);
|
||||||
SkeletonAnimation (const std::string&skeletonDataFile, spAtlas* atlas, float scale = 1);
|
SkeletonAnimation (const std::string&skeletonDataFile, spAtlas* atlas, float scale = 1);
|
||||||
@ -84,6 +84,7 @@ protected:
|
|||||||
virtual ~SkeletonAnimation ();
|
virtual ~SkeletonAnimation ();
|
||||||
void initialize ();
|
void initialize ();
|
||||||
|
|
||||||
|
protected:
|
||||||
spAnimationState* _state;
|
spAnimationState* _state;
|
||||||
|
|
||||||
bool _ownsAnimationStateData;
|
bool _ownsAnimationStateData;
|
||||||
|
|||||||
@ -83,18 +83,35 @@ void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsS
|
|||||||
}
|
}
|
||||||
|
|
||||||
SkeletonRenderer::SkeletonRenderer () {
|
SkeletonRenderer::SkeletonRenderer () {
|
||||||
initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) {
|
SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) {
|
||||||
initialize();
|
initWithData(skeletonData, ownsSkeletonData);
|
||||||
|
|
||||||
setSkeletonData(skeletonData, ownsSkeletonData);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
|
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
|
||||||
initialize();
|
initWithFile(skeletonDataFile, atlas, scale);
|
||||||
|
}
|
||||||
|
|
||||||
|
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
||||||
|
initWithFile(skeletonDataFile, atlasFile, scale);
|
||||||
|
}
|
||||||
|
|
||||||
|
SkeletonRenderer::~SkeletonRenderer () {
|
||||||
|
if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data);
|
||||||
|
if (_atlas) spAtlas_dispose(_atlas);
|
||||||
|
spSkeleton_dispose(_skeleton);
|
||||||
|
_batch->release();
|
||||||
|
FREE(_worldVertices);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonRenderer::initWithData (spSkeletonData* skeletonData, bool ownsSkeletonData) {
|
||||||
|
setSkeletonData(skeletonData, ownsSkeletonData);
|
||||||
|
|
||||||
|
initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonRenderer::initWithFile (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
|
||||||
spSkeletonJson* json = spSkeletonJson_create(atlas);
|
spSkeletonJson* json = spSkeletonJson_create(atlas);
|
||||||
json->scale = scale;
|
json->scale = scale;
|
||||||
spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile.c_str());
|
spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile.c_str());
|
||||||
@ -102,11 +119,11 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas
|
|||||||
spSkeletonJson_dispose(json);
|
spSkeletonJson_dispose(json);
|
||||||
|
|
||||||
setSkeletonData(skeletonData, true);
|
setSkeletonData(skeletonData, true);
|
||||||
|
|
||||||
|
initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
void SkeletonRenderer::initWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
||||||
initialize();
|
|
||||||
|
|
||||||
_atlas = spAtlas_createFromFile(atlasFile.c_str(), 0);
|
_atlas = spAtlas_createFromFile(atlasFile.c_str(), 0);
|
||||||
CCASSERT(_atlas, "Error reading atlas file.");
|
CCASSERT(_atlas, "Error reading atlas file.");
|
||||||
|
|
||||||
@ -117,15 +134,10 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const s
|
|||||||
spSkeletonJson_dispose(json);
|
spSkeletonJson_dispose(json);
|
||||||
|
|
||||||
setSkeletonData(skeletonData, true);
|
setSkeletonData(skeletonData, true);
|
||||||
|
|
||||||
|
initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
SkeletonRenderer::~SkeletonRenderer () {
|
|
||||||
if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data);
|
|
||||||
if (_atlas) spAtlas_dispose(_atlas);
|
|
||||||
spSkeleton_dispose(_skeleton);
|
|
||||||
_batch->release();
|
|
||||||
FREE(_worldVertices);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SkeletonRenderer::update (float deltaTime) {
|
void SkeletonRenderer::update (float deltaTime) {
|
||||||
spSkeleton_update(_skeleton, deltaTime * _timeScale);
|
spSkeleton_update(_skeleton, deltaTime * _timeScale);
|
||||||
|
|||||||
@ -91,14 +91,21 @@ public:
|
|||||||
virtual void setOpacityModifyRGB (bool value);
|
virtual void setOpacityModifyRGB (bool value);
|
||||||
virtual bool isOpacityModifyRGB () const;
|
virtual bool isOpacityModifyRGB () const;
|
||||||
|
|
||||||
protected:
|
CC_CONSTRUCTOR_ACCESS:
|
||||||
SkeletonRenderer ();
|
SkeletonRenderer ();
|
||||||
SkeletonRenderer (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
SkeletonRenderer (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||||
SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
|
SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
|
||||||
SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);
|
SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);
|
||||||
|
|
||||||
virtual ~SkeletonRenderer ();
|
virtual ~SkeletonRenderer ();
|
||||||
|
|
||||||
|
void initWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||||
|
void initWithFile (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
|
||||||
|
void initWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);
|
||||||
|
|
||||||
void initialize ();
|
void initialize ();
|
||||||
|
|
||||||
|
protected:
|
||||||
void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData);
|
void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData);
|
||||||
virtual cocos2d::Texture2D* getTexture (spRegionAttachment* attachment) const;
|
virtual cocos2d::Texture2D* getTexture (spRegionAttachment* attachment) const;
|
||||||
virtual cocos2d::Texture2D* getTexture (spMeshAttachment* attachment) const;
|
virtual cocos2d::Texture2D* getTexture (spMeshAttachment* attachment) const;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user