绘制路线
绘制路线函数,应用于救援路线、逃生路线、进攻路线、撤退路线等绘制。并能随时更换贴图纹理,用于表现线路的实时状态
包含自动处理圆角、辅助调试、动画设置等。
参数
new MMSDT.initDrawPath( paths, parameter )
paths: 二维数组,线条路径,一维为线条数量,二维为路径的坐标点
parameter: {
texture: ["textures/line1.png","textures/line2.png"], //指定贴图箭头,默认第一张图
repeat: 20, //贴图密度
speed: 0.05, //流动速度,数字越大越快
high: 0.5, //相对坐标点的高度
width: 5, //线条宽度
closed: true, //线条是否封口
help: false, //是否显示辅助线
tension: 0.2, //线条张力(转折点的圆滑度)
}
属性
.help( Boolean )
布尔值,显示或者隐藏辅助线
.change( list )
数字,贴图数组序号,更换线条的材质贴图
代码示例
//路线路径的坐标点
var paths1 = [
[
[-96.78951547255295,-0.5659189224243164,44.34293366742936],
[-44.30978001203355,-0.5659189224243164,34.813871228480735],
[-36.30978001203355,-0.5659189224243164,40.813871228480735],
[-19.79293077140494,-0.5660633087158203,125.20794658985395],
[-5.431397053430278,-0.5659275054931641,145.03294062212922],
[5.431397053430278,-0.5659275054931641,145.43294062212922]
],
[
[-1.8632090480658872,2.2,-136.58412176635534],
[-0.4278639463834928,1.5,-116.48208920611603],
[-57.60972726109296,1,-108.79460517636517],
[-65.72633711124563,0.5,-121.68314832986646],
[-76.5279837999224,0,-178.97724621475035],
[-85.14878836402455,0,-183.0614323619395],
[-154.1470125963954,0,-171.1939078530357]
]
]
//配置参数
var parameter1 = {
texture: [dirUrl+"textures/line1.png", dirUrl+"textures/line2.png"], //指定贴图箭头,默认第一张图
repeat: 20, //贴图密度
speed: 0.5, //流动速度,数字越大越快
high: 0.5, //相对坐标点的高度
width: 3, //线条宽度
closed: false, //线条是否封口
help: true, //是否显示辅助线
tension: 0.2, //线条张力(转折点的圆滑度)
}
//执行构建函数
var drawPath1 = new MMSDT.initDrawPath( paths1, parameter1 );
//路线路径的坐标点
var paths2 = [
[
[6.926158476001429, 0, 270.79083272238535],
[190.7646176316631, 0,320.1520150488513],
[225.64241054841895,0,273.81107568010594],
[114.26962271257553,0,-349.541546396764],
[81.13105009856969, 0,-388.54682130777434],
[-168.11352267735595,0,-344.629345816148],
[-190.15865282961173,0,-280.5107896391929],
[-159.03253571898236,0,-170.8251134485848],
[-134.97670135162602,0,-64.75332100461698],
[-45.777786664307605,0,226.09351578742283]
]
]
//配置参数
var parameter2 = {
texture: [dirUrl+"textures/line2.png", dirUrl+"textures/line1.png"], //指定贴图箭头,默认第一张图
repeat: 20, //贴图密度
speed: 0.05, //流动速度,数字越大越快
high: 0.5, //相对坐标点的高度
width: 5, //线条宽度
closed: true, //线条是否封口
help: false, //是否显示辅助线
tension: 0.1, //线条张力(转折点的圆滑度)
}
//执行构建函数
var drawPath2 = new MMSDT.initDrawPath( paths2, parameter2 );
//辅助线显示
MMAPI.helpOn = function(){
drawPath1.help( true );
drawPath2.help( true );
}
//辅助线隐藏
MMAPI.helpOff = function(){
drawPath1.help( false );
drawPath2.help( false );
}
//线条换贴图
MMAPI.changeTexture1 = function(){
drawPath1.change(1);
drawPath2.change(0);
}
MMAPI.changeTexture2 = function(){
drawPath1.change(0);
drawPath2.change(1);
}
在线演示