小彬彬 发表于 2012-8-11 11:05

Unity3D飞行模式脚本


var speed = 6.0;
var jumpSpeed = 8.0;
var gravity = 0;
private var moveDirection = Vector3.zero;
private var grounded : boolean = false;
function FixedUpdate() {
my=moveDirection.y;
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);

if (grounded) {

   moveDirection *= speed;

} else {
   moveDirection *= speed+transform.position.y/5;
   moveDirection.y=my;
}
if(Input.GetKey ("e")) {
   transform.Translate(0, -1, 0);
}

if (Input.GetKey ("q") ) {
   transform.Translate(0, 1, 0);

}
if(Input.GetKey("left shift")) {
   speed=6*5;
} else {      
   speed=6;
}
moveDirection.y -= gravity * Time.deltaTime;

var controller : CharacterController = GetComponent(CharacterController);
var flags = controller.Move(moveDirection * Time.deltaTime);
grounded = (flags & CollisionFlags.CollidedBelow) != 0;
}
@script RequireComponent(CharacterController)
private var myWalker: FPSWalker=null;
var maxHeight: float=250;
function Start () {
myWalker = gameObject.GetComponent(FPSWalker);
}

@script RequireComponent(FPSWalker)



脚本替换掉FPSWalker即可


shengbin88 发表于 2013-1-20 00:06

嘿嘿试试啦

haiyitian001 发表于 2017-2-14 20:22

顶顶多好

airarmy 发表于 2017-2-14 20:46

说的非常好

wai2dance 发表于 2017-2-14 20:34

很好哦

airarmy 发表于 2017-2-14 20:14

不错不错

ゅ星星点灯° 发表于 2017-2-14 20:20

LZ真是人才

349061667 发表于 2017-2-21 17:21

楼主是超人

酷克数字 发表于 2017-2-21 17:07

好帖就是要顶

上海-双喜 发表于 2017-2-21 17:05

顶顶多好
页: [1]
查看完整版本: Unity3D飞行模式脚本