浏览代码

Added getAnimationState.

NathanSweet 12 年之前
父节点
当前提交
d0732921c9

+ 1 - 0
spine-cocos2d-iphone/src/spine/CCSkeletonAnimation.h

@@ -46,6 +46,7 @@ Draws an animated skeleton, providing a simple API for applying one or more anim
 
 - (void) addAnimationState;
 - (void) addAnimationState:(AnimationStateData*)stateData;
+- (AnimationState*) getAnimationState:(int)stateIndex;
 - (void) setAnimationStateData:(AnimationStateData*)stateData forState:(int)stateIndex;
 
 - (void) setMixFrom:(NSString*)fromAnimation to:(NSString*)toAnimation duration:(float)duration;

+ 5 - 0
spine-cocos2d-iphone/src/spine/CCSkeletonAnimation.m

@@ -115,6 +115,11 @@
 	[_states addObject:[NSValue valueWithPointer:state]];
 }
 
+- (AnimationState*) getAnimationState:(int)stateIndex {
+	NSAssert(stateIndex >= 0 && stateIndex < (int)_states.count, @"stateIndex out of range.");
+	return [[_states objectAtIndex:stateIndex] pointerValue];
+}
+
 - (void) setAnimationStateData:(AnimationStateData*)stateData forState:(int)stateIndex {
 	NSAssert(stateData, @"stateData cannot be null.");
 	NSAssert(stateIndex >= 0 && stateIndex < (int)_states.count, @"stateIndex out of range.");

+ 5 - 0
spine-cocos2dx/src/spine/CCSkeletonAnimation.cpp

@@ -95,6 +95,11 @@ void CCSkeletonAnimation::addAnimationState (AnimationStateData* stateData) {
 	states.push_back(state);
 }
 
+AnimationState* getAnimationState (int stateIndex) {
+	CCAssert(stateIndex >= 0 && stateIndex < (int)states.size(), "stateIndex out of range.");
+	return states[stateIndex];
+}
+
 void CCSkeletonAnimation::setAnimationStateData (AnimationStateData* stateData, int stateIndex) {
 	CCAssert(stateIndex >= 0 && stateIndex < (int)states.size(), "stateIndex out of range.");
 	CCAssert(stateData, "stateData cannot be null.");

+ 1 - 0
spine-cocos2dx/src/spine/CCSkeletonAnimation.h

@@ -53,6 +53,7 @@ public:
 
 	void addAnimationState (AnimationStateData* stateData = 0);
 	void setAnimationStateData (AnimationStateData* stateData, int stateIndex = 0);
+	AnimationState* getAnimationState (int stateIndex = 0);
 	void setMix (const char* fromAnimation, const char* toAnimation, float duration, int stateIndex = 0);
 	void setAnimation (const char* name, bool loop, int stateIndex = 0);
 	void addAnimation (const char* name, bool loop, float delay = 0, int stateIndex = 0);