新建一个TestFlay.js脚本,内容如下:
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(transform.position.y>=6){
if(Input.GetKey ("e")) {//按下e键向下飞行
transform.Translate(0, -1, 0);
}
}
if (Input.GetKey ("q") ) { //按下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)
将它绑定到First Person Controller上,然后将前面的对勾勾掉。
再建一个脚本Fly.js,内容为:
var play:GameObject;
function Update () {
}
function OnGUI(){
if(GUI.Button(Rect(215,280,75,30),"Normal-Walk")){
play.GetComponent("FPSWalker").enabled = false;
play.GetComponent("TestFly").enabled = true;
}
if(GUI.Button(Rect(230,200,50,30),"Start-Fly")){
play.GetComponent("FPSWalker").enabled = true;
play.GetComponent("TestFly").enabled = false;
}
}
将其绑定到一个新建的GameObject上,运行即可看到效果。
分享到:
相关推荐
unity3d模拟飞机飞行源码Flight Simulation Engine,支持 iOS和 Android平台,非常逼真的飞机飞行模拟器,高度先进飞行动力学建模,含声音。
Unity3D脚本:飞行模拟的实现代码1
Unity3D 飞行类控制 相机视角跟随飞行
unity3d4.0.1开发的飞行模拟游戏,精美的地图,速度极快的战斗机,真实的物理引擎。
Unity3D AssetBundle的无缝地图实现Unity3D AssetBundle的无缝地图实现
unity3d 登录界面功能实现 c#代码,包含登录注册界面和功能!
Unity3D教程:简单触发器实现自动开关门创建完毕之后,去掉勾选的MeshRender使得球体变成透明的:Unity3D教程:简单触发器实现自动开关门给这个球
//当controller处在空中间,grounded为false,即跳动和行走都无效///鼠标控制视角///// if (Input.GetMouseButt
Unity3D教程:实现表格的模拟绘制 Posted on 2013年01月20日 by U3d / Unity3D 基础教程/被围观 356 次 通过简单的例
VR unity3d实现左右眼3D效果,实现双相机并排渲染
Unity3D游戏设计与实现pdf和随书资源打包
Unity3D和HTML之间传递信息的实现Unity3D和HTML之间传递信息的实现Unity3D和HTML之间传递信息的实现Unity3D和HTML之间传递信息的实现
Unity3d_实现地形上挖洞 Unity3d_实现地形上挖洞 Unity3d_实现地形上挖洞
Unity、3D、特效、刀光、卡通、RPG、VFX、战斗、战斗光影、Unity3D、动作特效、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、Unity3D、...
Unity3D走路与飞行的脚本1
1.Unity按键事件的实现 2.WinForm内嵌Unity3D 3.axUnityWebPlayer的Src的动态设置,右键禁用,隐藏图标实现进度条加载
unity3d打造魔方,unity3d打造魔方,unity3d打造魔方,unity3d打造魔方
Unity3D飞行模拟游戏包含教程和工程资源文件
unity 3D实现模型的缩放和5旋转功能
在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d...