Unity3D脚本:按路径移动

  unity3D更多资源教程免费下载,群193521697 邀请码:10026.(有问题找管理员)

1.基本思路:移动的目标(这里用cube)赋予一速度,并赋予Look at,Look at永远指向真值点true;目标检测与每个路径点的距离来改变控制参数真假,当到达第一个路径点时,此点值为假,下个点值改变为真。

2.JS程序如下(此代码赋予cube,把路径物体拖动到空位上即可):

 

001

//wt为要移动的目标。路径点有5个:cf为出发点、d01、d02、d03、d04为各路径点。

002

 

003

var wt:Transform;

004

 

005

var cf:Transform;

006

 

007

var d01:Transform;

008

 

009

var d02:Transform;

010

 

011

var d03:Transform;

012

 

013

var d04:Transform;

014

 

015

var speed=100;

016

 

017

var w02=false;

018

 

019

var w03=false;

020

 

021

var w04=false;

022

 

023

function Update() {

024

 

025

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

026

 

027

var m01:Vector3;

028

 

029

var m02:Vector3;

030

 

031

var m03:Vector3;

032

 

033

var m04:Vector3;

034

 

035

var m05:Vector3;

036

 

037

var m06:Vector3;

038

 

039

m01=wt.transform.position;

040

 

041

m02=cf.transform.position;

042

 

043

m03=d01.transform.position;

044

 

045

m04=d02.transform.position;

046

 

047

m05=d03.transform.position;

048

 

049

m06=d04.transform.position;

050

 

051

if(Vector3.Distance(m01,m02)<2)

052

 

053

{

054

 

055

w02=true;

056

 

057

w03=false;

058

 

059

w04=false;

060

 

061

if(w02==true)

062

 

063

{transform.LookAt(d01);}

064

 

065

}

066

 

067

if(Vector3.Distance(m01,m03)<2)

068

 

069

{

070

 

071

w02=false;

072

 

073

w03=true;

074

 

075

w04=false;

076

 

077

if(w03==true)

078

 

079

{transform.LookAt(d02);}

080

 

081

}

082

 

083

if(Vector3.Distance(m01,m04)<2)

084

 

085

{

086

 

087

w02=false;

088

 

089

w03=false;

090

 

091

w04=true;

092

 

093

if(w04==true)

094

 

095

{transform.LookAt(d03);}

096

 

097

}

098

 

099

if(Vector3.Distance(m01,m05)<2)

100

 

101

{transform.position=m06;

102

 

103

var w02=false;

104

 

105

var w03=false;

106

 

107

var w04=false;

108

 

109

}

110

 

111

}

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值