diff --git a/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp index 5a062086d..0c0083eb2 100644 --- a/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp +++ b/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 { diff --git a/spine-cocos2dx/3/src/spine/SkeletonRenderer.h b/spine-cocos2dx/3/src/spine/SkeletonRenderer.h index 13ea00f87..575203746 100644 --- a/spine-cocos2dx/3/src/spine/SkeletonRenderer.h +++ b/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();