对各个模型及动画段的播放、停止、暂停、监听
指定机械模型
播放某段动画
停止某段动画
暂停某段动画
暂停恢复某段动画
监听正在播放的某段动画是否播放完成
属性
播放: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;
}
}
在线演示
Powered by mms3D