فهرست منبع

Moved scheduleUpdate to onEnter, added unscheduleUpdate onExit.

closes #230
NathanSweet 10 سال پیش
والد
کامیت
60d724b7c4
2فایلهای تغییر یافته به همراه12 افزوده شده و 1 حذف شده
  1. 10 1
      spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp
  2. 2 0
      spine-cocos2dx/3/src/spine/SkeletonRenderer.h

+ 10 - 1
spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp

@@ -75,7 +75,6 @@ void SkeletonRenderer::initialize () {
 	setOpacityModifyRGB(true);
 
 	setGLProgram(ShaderCache::getInstance()->getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR));
-	scheduleUpdate();
 }
 
 void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsSkeletonData) {
@@ -370,6 +369,16 @@ bool SkeletonRenderer::getDebugBonesEnabled () const {
 	return _debugBones;
 }
 
+void SkeletonRenderer::onEnter () {
+	Node::onEnter();
+	scheduleUpdate();
+}
+
+void SkeletonRenderer::onExit () {
+	Node::onExit();
+	unscheduleUpdate();
+}
+
 // --- CCBlendProtocol
 
 const BlendFunc& SkeletonRenderer::getBlendFunc () const {

+ 2 - 0
spine-cocos2dx/3/src/spine/SkeletonRenderer.h

@@ -49,6 +49,8 @@ public:
 	virtual void draw (cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, uint32_t transformFlags) override;
 	virtual void drawSkeleton (const cocos2d::Mat4& transform, uint32_t transformFlags);
 	virtual cocos2d::Rect getBoundingBox () const override;
+	virtual void onEnter () override;
+	virtual void onExit () override;
 
 	spSkeleton* getSkeleton();