按当前位置的计划任务
当前位置任务,如隐藏显示建筑、配音切换、自动播放视频等等
用于第一人称的大场景漫游,分段分区域显示当前区域建筑,以提高电脑性能
参数
MMSDT.taskProject( parameter )
parameter: 参数数组,json格式
var parameter = [
{
locations: [ [-245,245],[0,100],[100,625] ], //当前位置坐标[[x小,x大],[y小,y大],[z小,z大]]
functions: function(){
//当前位置执行的功能
}
}
]
代码示例
//获取配音文件
var dubbing = [
document.getElementById("info1"),
document.getElementById("info2"),
document.getElementById("info3"),
document.getElementById("info4"),
document.getElementById("info5"),
document.getElementById("info6"),
document.getElementById("info7"),
]
//按当前位置的计划任务
var settings = [
{
locations: [ [-245,245],[0,100],[100,625] ], //当前位置坐标[[x小,x大],[y小,y大],[z小,z大]]
functions: function(){ //当前位置执行的功能
models[0].visible = true; //模型显示隐藏
models[1].visible = true;
models[2].visible = true;
models[3].visible = false;
models[4].visible = false;
models[5].visible = false;
models[6].visible = false;
models[7].visible = true;
for( var i=0; i < dubbing.length; i++ ){ //配音切换
if( i == 0 ){
dubbing[i].currentTime = 0; //从头播放
dubbing[i].play(); //播放当前配音
}else{
dubbing[i].pause(); //其它停止
}
}
}
},
{
locations: [ [245,1000],[0,100],[200,625] ],
functions: function(){
models[0].visible = true;
models[1].visible = true;
models[2].visible = true;
models[3].visible = true;
models[4].visible = false;
models[5].visible = false;
models[6].visible = false;
models[7].visible = false;
for( var i=0; i < dubbing.length; i++ ){
if( i == 1 ){
dubbing[i].currentTime = 0;
dubbing[i].play();
}else{
dubbing[i].pause();
}
}
}
}
]
//开场视频播放完成
MMAPI.enterScene = function(){
MMSDT.taskProject( settings ); //按当前位置的计划任务
}
在线演示
Powered by mms3D