mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-13 02:28:44 +08:00
Don't crash if animation is not found.
http://www.esotericsoftware.com/forum/viewtopic.php?f=7&t=1379
This commit is contained in:
parent
961a93719c
commit
1d8e12442e
@ -132,11 +132,21 @@ static void callback (AnimationState* state, int trackIndex, EventType type, Eve
|
||||
}
|
||||
|
||||
- (TrackEntry*) setAnimationForTrack:(int)trackIndex name:(NSString*)name loop:(bool)loop {
|
||||
return AnimationState_setAnimationByName(_state, trackIndex, [name UTF8String], loop);
|
||||
Animation* animation = SkeletonData_findAnimation(_skeleton->data, [name UTF8String]);
|
||||
if (!animation) {
|
||||
CCLOG(@"Spine: Animation not found: %@", name);
|
||||
return 0;
|
||||
}
|
||||
return AnimationState_setAnimation(_state, trackIndex, animation, loop);
|
||||
}
|
||||
|
||||
- (TrackEntry*) addAnimationForTrack:(int)trackIndex name:(NSString*)name loop:(bool)loop afterDelay:(int)delay {
|
||||
return AnimationState_addAnimationByName(_state, trackIndex, [name UTF8String], loop, delay);
|
||||
Animation* animation = SkeletonData_findAnimation(_skeleton->data, [name UTF8String]);
|
||||
if (!animation) {
|
||||
CCLOG(@"Spine: Animation not found: %@", name);
|
||||
return 0;
|
||||
}
|
||||
return AnimationState_addAnimation(_state, trackIndex, animation, loop, delay);
|
||||
}
|
||||
|
||||
- (TrackEntry*) getCurrentForTrack:(int)trackIndex {
|
||||
|
||||
@ -124,11 +124,21 @@ void CCSkeletonAnimation::setAnimationListener (CCObject* instance, SEL_Animatio
|
||||
}
|
||||
|
||||
TrackEntry* CCSkeletonAnimation::setAnimation (int trackIndex, const char* name, bool loop) {
|
||||
return AnimationState_setAnimationByName(state, trackIndex, name, loop);
|
||||
Animation* animation = SkeletonData_findAnimation(skeleton->data, name);
|
||||
if (!animation) {
|
||||
CCLog("Spine: Animation not found: %s", name);
|
||||
return 0;
|
||||
}
|
||||
return AnimationState_setAnimation(state, trackIndex, animation, loop);
|
||||
}
|
||||
|
||||
TrackEntry* CCSkeletonAnimation::addAnimation (int trackIndex, const char* name, bool loop, float delay) {
|
||||
return AnimationState_addAnimationByName(state, trackIndex, name, loop, delay);
|
||||
Animation* animation = SkeletonData_findAnimation(skeleton->data, name);
|
||||
if (!animation) {
|
||||
CCLog("Spine: Animation not found: %s", name);
|
||||
return 0;
|
||||
}
|
||||
return AnimationState_addAnimation(state, trackIndex, animation, loop, delay);
|
||||
}
|
||||
|
||||
TrackEntry* CCSkeletonAnimation::getCurrent (int trackIndex) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user