26
26
27
27
var sp = sp || { } ;
28
28
29
+ var ANIMATION_TYPE = {
30
+ ANIMATION_START : 0 ,
31
+ ANIMATION_END : 1 ,
32
+ ANIMATION_COMPLETE : 2 ,
33
+ ANIMATION_EVENT : 3
34
+ } ;
35
+
29
36
SpineTestScene = TestScene . extend ( {
30
37
31
38
runThisTest :function ( ) {
@@ -53,6 +60,7 @@ SpineTest = BaseTestLayer.extend({
53
60
spineboy . setAnimation ( 0 , 'walk' , true ) ;
54
61
spineboy . setMix ( 'walk' , 'jump' , 0.2 ) ;
55
62
spineboy . setMix ( 'jump' , 'walk' , 0.4 ) ;
63
+ spineboy . setAnimationListener ( this , this . animationStateEvent ) ;
56
64
this . addChild ( spineboy , 4 ) ;
57
65
} ,
58
66
onBackCallback :function ( sender ) {
@@ -70,6 +78,29 @@ SpineTest = BaseTestLayer.extend({
70
78
return "Spine test" ;
71
79
} ,
72
80
81
+ animationStateEvent : function ( obj , trackIndex , type , event , loopCount ) {
82
+ var entry = spineboy . getCurrent ( ) ;
83
+ var animationName = ( entry && entry . animation ) ? entry . animation . name : 0 ;
84
+
85
+ switch ( type )
86
+ {
87
+ case ANIMATION_TYPE . ANIMATION_START :
88
+ cc . log ( trackIndex + " start: " + animationName ) ;
89
+ break ;
90
+ case ANIMATION_TYPE . ANIMATION_END :
91
+ cc . log ( trackIndex + " end:" + animationName ) ;
92
+ break ;
93
+ case ANIMATION_TYPE . ANIMATION_EVENT :
94
+ cc . log ( trackIndex + " event: " + animationName ) ;
95
+ break ;
96
+ case ANIMATION_TYPE . ANIMATION_COMPLETE :
97
+ cc . log ( trackIndex + " complete: " + animationName + "," + loopCount ) ;
98
+ break ;
99
+ default :
100
+ break ;
101
+ }
102
+ } ,
103
+
73
104
// automation
74
105
numberOfPendingTests :function ( ) {
75
106
return 1 ;
@@ -82,4 +113,4 @@ SpineTest = BaseTestLayer.extend({
82
113
83
114
SpineTest . create = function ( ) {
84
115
return new SpineTest ( ) ;
85
- } ;
116
+ } ;
0 commit comments