actions.play()

对各个模型及动画段的播放、停止、暂停、监听

指定机械模型

播放某段动画

停止某段动画

暂停某段动画

暂停恢复某段动画

监听正在播放的某段动画是否播放完成

属性

播放:actions[i][i].play()

停止:actions[i][i].stop()

暂停:actions[i][i].paused = true

恢复:actions[i][i].paused = false

循环次数:actions[i][i].repetitions = 1

停在最后一帧:actions[i][i].clampWhenFinished = true

动画开始时间(秒):actions[i][i].time = 5

动画结束时间(秒):actions[i][i].duration = 15

全部停止:mixer[i].stopAllAction()

actions二维数组,一维为第几个模型,二维为该模型的第几段动画

 

mixer[i].addEventListener( 'loop', function( e ) {…} )

监听该模型的该次动画循环播放,单次完成

mixer[i].addEventListener( 'finished', function( e ) {…} )

监听该模型的该次动画播放完成

代码示例

//监听A模型单次播放完成 mixer[0].addEventListener( 'loop', function(e) { for(var i=0; i < actions[0].length; i++){ actions[0][i].paused = true; //该模型所有动画暂停 } }); //监听B模型单次播放完成 mixer[1].addEventListener( 'loop', function(e) { for(var i=0; i < actions[1].length; i++){ actions[1][i].paused = true; //该模型所有动画暂停 } }); //监听C模型单次播放完成 mixer[2].addEventListener( 'loop', function(e) { for(var i=0; i < actions[2].length; i++){ actions[2][i].paused = true; //该模型所有动画暂停 } }); //使用MMAPI类,自定义外部函数接口 MMAPI.robot1 = function(num){ switch(num) { case 0: //停止 for(var i=0; i < actions[0].length; i++){ actions[0][i].stop(); } break; case 1: //动作1 for(var i=0; i < actions[0].length; i++){ actions[0][i].stop(); } actions[0][0].play(); break; case 2: //动作2 for(var i=0; i < actions[0].length; i++){ actions[0][i].stop(); } actions[0][1].play(); break; case 3: //动作3 for(var i=0; i < actions[0].length; i++){ actions[0][i].stop(); } actions[0][2].play(); break; case 4: //动作4 for(var i=0; i < actions[0].length; i++){ actions[0][i].stop(); } actions[0][3].play(); break; case 5: //暂停 for(var i=0; i < actions[0].length; i++){ actions[0][i].paused = true; } break; case 6: //恢复 for(var i=0; i < actions[0].length; i++){ actions[0][i].paused = false; } break; } } MMAPI.robot2 = function(num){ switch(num) { case 0: //停止 for(var i=0; i < actions[1].length; i++){ actions[1][i].stop(); } break; case 1: //动作1 for(var i=0; i < actions[1].length; i++){ actions[1][i].stop(); } actions[1][0].play(); break; case 2: //动作2 for(var i=0; i < actions[1].length; i++){ actions[1][i].stop(); } actions[1][1].play(); break; case 3: //动作3 for(var i=0; i < actions[1].length; i++){ actions[1][i].stop(); } actions[1][2].play(); break; case 4: //动作4 for(var i=0; i < actions[1].length; i++){ actions[1][i].stop(); } actions[1][3].play(); break; case 5: //暂停 for(var i=0; i < actions[1].length; i++){ actions[1][i].paused = true; } break; case 6: //恢复 for(var i=0; i < actions[1].length; i++){ actions[1][i].paused = false; } break; } } MMAPI.robot3 = function(num){ switch(num) { case 0: //停止 for(var i=0; i < actions[2].length; i++){ actions[2][i].stop(); } break; case 1: //动作1 for(var i=0; i < actions[2].length; i++){ actions[2][i].stop(); } actions[2][0].play(); break; case 2: //动作2 for(var i=0; i < actions[2].length; i++){ actions[2][i].stop(); } actions[2][1].play(); break; case 3: //动作3 for(var i=0; i < actions[2].length; i++){ actions[2][i].stop(); } actions[2][2].play(); break; case 4: //动作4 for(var i=0; i < actions[2].length; i++){ actions[2][i].stop(); } actions[2][3].play(); break; case 5: //暂停 for(var i=0; i < actions[2].length; i++){ actions[2][i].paused = true; } break; case 6: //恢复 for(var i=0; i < actions[2].length; i++){ actions[2][i].paused = false; } break; } }

在线演示