MMSDT.attackArc()
攻击弧线,用于表现点对点的弧形信息流向。
构造函数
MMSDT.attackArc( parameters: object, position: array, callback: Function )
parameters - json格式,参数设置。
position - 二维数组,点对点的坐标点。
callback - 完成单次信息流,回调参数为该条信息的坐标点。
属性
.enabled( Boolean )
是否显示,true显示,false隐藏。
.remove()
删除所有。
代码示例
var MMS3D_exceptionMesh = []; //需要材质拆分的网格
var MMS3D_instancingMesh = ["Sc46134_2","Sc46753_2","Sc46264_2"]; //合并实例化网格
//初始化场景
MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh );
//设置第3人称鼠标控制器
controls3.maxPolarAngle = Math.PI*0.49; //向下,最大角度限制
controls3.maxDistance = 1000; //最远距离限制
controls3.screenSpacePanning = false; //右键平移是否上下移动
controls3.enableDamping = true; //是否开启惯性阻尼
controls3.dampingFactor = 0.1; //惯性阻尼系数
controls3.autoRotateSpeed = 1; //自动旋转速度
controls3.autoRotate = true; //是否开启自动旋转
//使用json文件让场景还原
MMSDT.onloadScene( "models/mms3D_jianyu4.json", function(progress){
if( progress == 'done' ){
//加载完成,播放动画
for( var i=0; i<actions[0].length; i++ ){
actions[0][i].play();
actions[0][i].timeScale = 1.5;
}
}else if( progress == 'ok' ){
//渲染完成
onloadDone();
}else{
//显示进度条数字
document.getElementById("loadNum").innerHTML = Math.round( progress )+'%';
}
});
//场景加载完成
function onloadDone(){
MMSDT.getJson( "models/anima1660802763282.json", function(dataJson){
attackJson = dataJson.attackArc; //读取弧线坐标点
});
}
var attackJson;
var options = {
url: "textures/arc.png", //String(贴图相对路径)
speed: 2, //Number(流动速度,数字越大越快)
width: 0.6, //Number(线条宽度)
arc: 0.2, //Float(弯曲弧度)
repeat: false, //Boolean(是否重复,true重复循环,false仅一次)
};
//自定义对外函数接口------------------------------------------------------------------------
//目标发射
MMAPI.startAttack = function(num){
var list=0;
var stops = setInterval(function(){
//循环发射光线
MMSDT.attackArc( options, [attackJson[list], attackJson[list+1]], function(arrayIndex){
console.log(arrayIndex);
});
//发射完毕后停止
if( list < attackJson.length-2 ){
list+=2;
}else{
clearInterval(stops);
}
},500)
}
点击查看示例演示 →
Powered by mms3D