mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +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 ()
|
||||
: SkeletonRenderer() {
|
||||
initialize();
|
||||
}
|
||||
|
||||
SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData)
|
||||
|
||||
@ -76,7 +76,7 @@ public:
|
||||
|
||||
spAnimationState* getState() const;
|
||||
|
||||
protected:
|
||||
CC_CONSTRUCTOR_ACCESS:
|
||||
SkeletonAnimation ();
|
||||
SkeletonAnimation (spSkeletonData* skeletonData);
|
||||
SkeletonAnimation (const std::string&skeletonDataFile, spAtlas* atlas, float scale = 1);
|
||||
@ -84,6 +84,7 @@ protected:
|
||||
virtual ~SkeletonAnimation ();
|
||||
void initialize ();
|
||||
|
||||
protected:
|
||||
spAnimationState* _state;
|
||||
|
||||
bool _ownsAnimationStateData;
|
||||
|
||||
@ -83,18 +83,35 @@ void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsS
|
||||
}
|
||||
|
||||
SkeletonRenderer::SkeletonRenderer () {
|
||||
initialize();
|
||||
}
|
||||
|
||||
SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) {
|
||||
initialize();
|
||||
|
||||
setSkeletonData(skeletonData, ownsSkeletonData);
|
||||
initWithData(skeletonData, ownsSkeletonData);
|
||||
}
|
||||
|
||||
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);
|
||||
json->scale = scale;
|
||||
spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile.c_str());
|
||||
@ -102,11 +119,11 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas
|
||||
spSkeletonJson_dispose(json);
|
||||
|
||||
setSkeletonData(skeletonData, true);
|
||||
|
||||
initialize();
|
||||
}
|
||||
|
||||
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
||||
initialize();
|
||||
|
||||
void SkeletonRenderer::initWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
||||
_atlas = spAtlas_createFromFile(atlasFile.c_str(), 0);
|
||||
CCASSERT(_atlas, "Error reading atlas file.");
|
||||
|
||||
@ -117,15 +134,10 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const s
|
||||
spSkeletonJson_dispose(json);
|
||||
|
||||
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) {
|
||||
spSkeleton_update(_skeleton, deltaTime * _timeScale);
|
||||
|
||||
@ -91,14 +91,21 @@ public:
|
||||
virtual void setOpacityModifyRGB (bool value);
|
||||
virtual bool isOpacityModifyRGB () const;
|
||||
|
||||
protected:
|
||||
CC_CONSTRUCTOR_ACCESS:
|
||||
SkeletonRenderer ();
|
||||
SkeletonRenderer (spSkeletonData* skeletonData, bool ownsSkeletonData = false);
|
||||
SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
|
||||
SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);
|
||||
|
||||
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 ();
|
||||
|
||||
protected:
|
||||
void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData);
|
||||
virtual cocos2d::Texture2D* getTexture (spRegionAttachment* attachment) const;
|
||||
virtual cocos2d::Texture2D* getTexture (spMeshAttachment* attachment) const;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user