mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-07 11:16:53 +08:00
Merge pull request #260 from ricardoquesada/cocos2dx_v32_api_fixes
Fixes for the cocos2d-x v3.2 API
This commit is contained in:
commit
357185a9a6
@ -89,7 +89,7 @@ SkeletonAnimation* SkeletonAnimation::createWithFile (const std::string& skeleto
|
|||||||
}
|
}
|
||||||
|
|
||||||
void SkeletonAnimation::initialize () {
|
void SkeletonAnimation::initialize () {
|
||||||
ownsAnimationStateData = true;
|
_ownsAnimationStateData = true;
|
||||||
_state = spAnimationState_create(spAnimationStateData_create(_skeleton->data));
|
_state = spAnimationState_create(spAnimationStateData_create(_skeleton->data));
|
||||||
_state->rendererObject = this;
|
_state->rendererObject = this;
|
||||||
_state->listener = animationCallback;
|
_state->listener = animationCallback;
|
||||||
@ -114,7 +114,7 @@ SkeletonAnimation::SkeletonAnimation (const std::string& skeletonDataFile, const
|
|||||||
}
|
}
|
||||||
|
|
||||||
SkeletonAnimation::~SkeletonAnimation () {
|
SkeletonAnimation::~SkeletonAnimation () {
|
||||||
if (ownsAnimationStateData) spAnimationStateData_dispose(_state->data);
|
if (_ownsAnimationStateData) spAnimationStateData_dispose(_state->data);
|
||||||
spAnimationState_dispose(_state);
|
spAnimationState_dispose(_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,10 +130,10 @@ void SkeletonAnimation::update (float deltaTime) {
|
|||||||
void SkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData) {
|
void SkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData) {
|
||||||
CCASSERT(stateData, "stateData cannot be null.");
|
CCASSERT(stateData, "stateData cannot be null.");
|
||||||
|
|
||||||
if (ownsAnimationStateData) spAnimationStateData_dispose(_state->data);
|
if (_ownsAnimationStateData) spAnimationStateData_dispose(_state->data);
|
||||||
spAnimationState_dispose(_state);
|
spAnimationState_dispose(_state);
|
||||||
|
|
||||||
ownsAnimationStateData = false;
|
_ownsAnimationStateData = false;
|
||||||
_state = spAnimationState_create(stateData);
|
_state = spAnimationState_create(stateData);
|
||||||
_state->rendererObject = this;
|
_state->rendererObject = this;
|
||||||
_state->listener = animationCallback;
|
_state->listener = animationCallback;
|
||||||
@ -176,16 +176,16 @@ void SkeletonAnimation::clearTrack (int trackIndex) {
|
|||||||
void SkeletonAnimation::onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
void SkeletonAnimation::onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SP_ANIMATION_START:
|
case SP_ANIMATION_START:
|
||||||
if (startListener) startListener(trackIndex);
|
if (_startListener) _startListener(trackIndex);
|
||||||
break;
|
break;
|
||||||
case SP_ANIMATION_END:
|
case SP_ANIMATION_END:
|
||||||
if (endListener) endListener(trackIndex);
|
if (_endListener) _endListener(trackIndex);
|
||||||
break;
|
break;
|
||||||
case SP_ANIMATION_COMPLETE:
|
case SP_ANIMATION_COMPLETE:
|
||||||
if (completeListener) completeListener(trackIndex, loopCount);
|
if (_completeListener) _completeListener(trackIndex, loopCount);
|
||||||
break;
|
break;
|
||||||
case SP_ANIMATION_EVENT:
|
case SP_ANIMATION_EVENT:
|
||||||
if (eventListener) eventListener(trackIndex, event);
|
if (_eventListener) _eventListener(trackIndex, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -210,19 +210,35 @@ void SkeletonAnimation::onTrackEntryEvent (int trackIndex, spEventType type, spE
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkeletonAnimation::setStartListener (spTrackEntry* entry, StartListener listener) {
|
void SkeletonAnimation::setStartListener (const StartListener& listener) {
|
||||||
|
_startListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonAnimation::setEndListener (const EndListener& listener) {
|
||||||
|
_endListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonAnimation::setCompleteListener (const CompleteListener& listener) {
|
||||||
|
_completeListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonAnimation::setEventListener (const EventListener& listener) {
|
||||||
|
_eventListener = listener;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonAnimation::setTrackStartListener (spTrackEntry* entry, const StartListener& listener) {
|
||||||
getListeners(entry)->startListener = listener;
|
getListeners(entry)->startListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkeletonAnimation::setEndListener (spTrackEntry* entry, EndListener listener) {
|
void SkeletonAnimation::setTrackEndListener (spTrackEntry* entry, const EndListener& listener) {
|
||||||
getListeners(entry)->endListener = listener;
|
getListeners(entry)->endListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkeletonAnimation::setCompleteListener (spTrackEntry* entry, CompleteListener listener) {
|
void SkeletonAnimation::setTrackCompleteListener (spTrackEntry* entry, const CompleteListener& listener) {
|
||||||
getListeners(entry)->completeListener = listener;
|
getListeners(entry)->completeListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkeletonAnimation::setEventListener (spTrackEntry* entry, spine::EventListener listener) {
|
void SkeletonAnimation::setTrackEventListener (spTrackEntry* entry, const EventListener& listener) {
|
||||||
getListeners(entry)->eventListener = listener;
|
getListeners(entry)->eventListener = listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -61,21 +61,31 @@ public:
|
|||||||
void clearTracks ();
|
void clearTracks ();
|
||||||
void clearTrack (int trackIndex = 0);
|
void clearTrack (int trackIndex = 0);
|
||||||
|
|
||||||
void setStartListener (spTrackEntry* entry, StartListener listener);
|
void setStartListener (const StartListener& listener);
|
||||||
void setEndListener (spTrackEntry* entry, EndListener listener);
|
void setEndListener (const EndListener& listener);
|
||||||
void setCompleteListener (spTrackEntry* entry, CompleteListener listener);
|
void setCompleteListener (const CompleteListener& listener);
|
||||||
void setEventListener (spTrackEntry* entry, EventListener listener);
|
void setEventListener (const EventListener& listener);
|
||||||
|
|
||||||
|
void setTrackStartListener (spTrackEntry* entry, const StartListener& listener);
|
||||||
|
void setTrackEndListener (spTrackEntry* entry, const EndListener& listener);
|
||||||
|
void setTrackCompleteListener (spTrackEntry* entry, const CompleteListener& listener);
|
||||||
|
void setTrackEventListener (spTrackEntry* entry, const EventListener& listener);
|
||||||
|
|
||||||
|
void setStartListener (spTrackEntry* entry, const StartListener& listener) CC_DEPRECATED_ATTRIBUTE
|
||||||
|
{ setTrackStartListener(entry, listener); }
|
||||||
|
void setEndListener (spTrackEntry* entry, const EndListener& listener) CC_DEPRECATED_ATTRIBUTE
|
||||||
|
{ setTrackEndListener(entry, listener); }
|
||||||
|
void setCompleteListener (spTrackEntry* entry, const CompleteListener& listener) CC_DEPRECATED_ATTRIBUTE
|
||||||
|
{ setTrackCompleteListener(entry, listener); }
|
||||||
|
void setEventListener (spTrackEntry* entry, const EventListener& listener) CC_DEPRECATED_ATTRIBUTE
|
||||||
|
{ setTrackEventListener(entry, listener); }
|
||||||
|
|
||||||
|
|
||||||
virtual void onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount);
|
virtual void onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||||
virtual void onTrackEntryEvent (int trackIndex, spEventType type, spEvent* event, int loopCount);
|
virtual void onTrackEntryEvent (int trackIndex, spEventType type, spEvent* event, int loopCount);
|
||||||
|
|
||||||
spAnimationState* getState() const;
|
spAnimationState* getState() const;
|
||||||
|
|
||||||
StartListener startListener;
|
|
||||||
EndListener endListener;
|
|
||||||
CompleteListener completeListener;
|
|
||||||
EventListener eventListener;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
SkeletonAnimation ();
|
SkeletonAnimation ();
|
||||||
SkeletonAnimation (spSkeletonData* skeletonData);
|
SkeletonAnimation (spSkeletonData* skeletonData);
|
||||||
@ -86,7 +96,12 @@ protected:
|
|||||||
|
|
||||||
spAnimationState* _state;
|
spAnimationState* _state;
|
||||||
|
|
||||||
bool ownsAnimationStateData;
|
bool _ownsAnimationStateData;
|
||||||
|
|
||||||
|
StartListener _startListener;
|
||||||
|
EndListener _endListener;
|
||||||
|
CompleteListener _completeListener;
|
||||||
|
EventListener _eventListener;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef SkeletonRenderer super;
|
typedef SkeletonRenderer super;
|
||||||
|
|||||||
@ -347,6 +347,35 @@ bool SkeletonRenderer::setAttachment (const std::string& slotName, const std::st
|
|||||||
return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.c_str()) ? true : false;
|
return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.c_str()) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SkeletonRenderer::setTimeScale(float scale)
|
||||||
|
{
|
||||||
|
_timeScale = scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
float SkeletonRenderer::getTimeScale() const
|
||||||
|
{
|
||||||
|
return _timeScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonRenderer::setDebugSlotsEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
_debugSlots = enabled;
|
||||||
|
}
|
||||||
|
bool SkeletonRenderer::getDebugSlotsEnabled() const
|
||||||
|
{
|
||||||
|
return _debugSlots;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SkeletonRenderer::setDebugBonesEnabled(bool enabled)
|
||||||
|
{
|
||||||
|
_debugBones = enabled;
|
||||||
|
}
|
||||||
|
bool SkeletonRenderer::getDebugBonesEnabled() const
|
||||||
|
{
|
||||||
|
return _debugBones;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// --- CCBlendProtocol
|
// --- CCBlendProtocol
|
||||||
|
|
||||||
const BlendFunc& SkeletonRenderer::getBlendFunc () const {
|
const BlendFunc& SkeletonRenderer::getBlendFunc () const {
|
||||||
|
|||||||
@ -57,6 +57,16 @@ public:
|
|||||||
void setBonesToSetupPose ();
|
void setBonesToSetupPose ();
|
||||||
void setSlotsToSetupPose ();
|
void setSlotsToSetupPose ();
|
||||||
|
|
||||||
|
void setTimeScale(float scale);
|
||||||
|
float getTimeScale() const;
|
||||||
|
|
||||||
|
void setDebugSlotsEnabled(bool enabled);
|
||||||
|
bool getDebugSlotsEnabled() const;
|
||||||
|
|
||||||
|
void setDebugBonesEnabled(bool enabled);
|
||||||
|
bool getDebugBonesEnabled() const;
|
||||||
|
|
||||||
|
|
||||||
/* Returns 0 if the bone was not found. */
|
/* Returns 0 if the bone was not found. */
|
||||||
spBone* findBone (const std::string& boneName) const;
|
spBone* findBone (const std::string& boneName) const;
|
||||||
/* Returns 0 if the slot was not found. */
|
/* Returns 0 if the slot was not found. */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user