纳金网

标题: 按路径点移动的js脚本 [打印本页]

作者: 奇    时间: 2012-1-29 12:47
标题: 按路径点移动的js脚本
1.基本思路:移动的目标(这里用cube)赋予一速度,并赋予Look at,Look at永远指向“真”值点true;目标检测与每个路径点的距离来改变控制参数真假,当到达第一个路径点时,此点值为假,下个点值改变为真。
2.js程序如下(此代码赋予cube,把路径物体拖动到空位上即可):
//wt为要移动的目标。路径点有5个:cf为出发点、d01、d02、d03、d04为各路径点。
var wt:Transform;
var cf:Transform;
var d01:Transform;
var d02:Transform;
var d03:Transform;
var d04:Transform;
var speed=100;

var w02=false;
var w03=false;
var w04=false;

function Update() {
transform.Translate( Vector3(0, 0,speed) * Time.deltaTime) ;

var m01:Vector3;
var m02:Vector3;
var m03:Vector3;
var m04:Vector3;
var m05:Vector3;
var m06:Vector3;

m01=wt.transform.position;
m02=cf.transform.position;
m03=d01.transform.position;
m04=d02.transform.position;
m05=d03.transform.position;
m06=d04.transform.position;

if(Vector3.Distance(m01,m02)<2)
{
w02=true;
w03=false;
w04=false;
if(w02==true)
{transform.LookAt(d01);}
}

if(Vector3.Distance(m01,m03)<2)
{
w02=false;
w03=true;
w04=false;
if(w03==true)
{transform.LookAt(d02);}
}
if(Vector3.Distance(m01,m04)<2)
{
w02=false;
w03=false;
w04=true;
if(w04==true)
{transform.LookAt(d03);}
}
if(Vector3.Distance(m01,m05)<2)
{transform.position=m06;
var w02=false;
var w03=false;
var w04=false;
}
}
如果给各路径点赋予鼠标拖动代码,那么可以随便对路径编辑




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5