|
@@ -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();
|
|
|
|
-
|
|
|
|
- setSkeletonData(skeletonData, ownsSkeletonData);
|
|
|
|
|
|
+ initWithData(skeletonData, ownsSkeletonData);
|
|
}
|
|
}
|
|
|
|
|
|
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
|
|
SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, spAtlas* atlas, float scale) {
|
|
|
|
+ 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();
|
|
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);
|
|
-}
|
|
|
|
|
|
|
|
-SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
|
|
|
initialize();
|
|
initialize();
|
|
|
|
+}
|
|
|
|
|
|
|
|
+void SkeletonRenderer::initWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale) {
|
|
_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,16 +134,11 @@ SkeletonRenderer::SkeletonRenderer (const std::string& skeletonDataFile, const s
|
|
spSkeletonJson_dispose(json);
|
|
spSkeletonJson_dispose(json);
|
|
|
|
|
|
setSkeletonData(skeletonData, true);
|
|
setSkeletonData(skeletonData, true);
|
|
-}
|
|
|
|
|
|
|
|
-SkeletonRenderer::~SkeletonRenderer () {
|
|
|
|
- if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data);
|
|
|
|
- if (_atlas) spAtlas_dispose(_atlas);
|
|
|
|
- spSkeleton_dispose(_skeleton);
|
|
|
|
- _batch->release();
|
|
|
|
- FREE(_worldVertices);
|
|
|
|
|
|
+ initialize();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
void SkeletonRenderer::update (float deltaTime) {
|
|
void SkeletonRenderer::update (float deltaTime) {
|
|
spSkeleton_update(_skeleton, deltaTime * _timeScale);
|
|
spSkeleton_update(_skeleton, deltaTime * _timeScale);
|
|
}
|
|
}
|