1. 程式人生 > >Unity CharacterController帶重力,並移動角色指令碼

Unity CharacterController帶重力,並移動角色指令碼

using UnityEngine;
using System.Collections;

public class Player : MonoBehaviour {
	CharacterController cc;
	public float gravity=0.5f;
	public float speed=1.0f;
	public float jumpSpeed=8.0f;

	private Vector3 moveDirection= Vector3.zero;
	// Use this for initialization
	void Start () {
		cc=GetComponent<CharacterController>();

	}
	
	// Update is called once per frame
	void Update () {
		if (cc.isGrounded) {
			// We are grounded, so recalculate
			// move direction directly from axes
			//我們著地了,所以直接通過軸重新計算move direction。
			float h = Input.GetAxis ("Horizontal");
			float v = Input.GetAxis ("Vertical");
			if (Mathf.Abs (JoyStick.h) > 0.1f || Mathf.Abs (JoyStick.v) > 0.1f) {
				h = JoyStick.h;
				v = JoyStick.v;
			}
			if (Mathf.Abs (h) > 0.1f || Mathf.Abs (v) > 0.1f) {

				Vector3 targetpos = new Vector3 (h, 0, v);
				//print (targetpos);
				transform.LookAt (targetpos + transform.position);
				cc.SimpleMove (transform.forward * speed);
			}

		} else {	
			//先落地
			moveDirection.y -= gravity * Time.deltaTime; 
			cc.Move(moveDirection * Time.deltaTime);
			//print (Time.deltaTime);	
		}

	}
}

相關推薦

Unity CharacterController重力,移動角色指令碼

using UnityEngine; using System.Collections; public class Player : MonoBehaviour { CharacterController cc; public float gravity=0.5f;

Unity MMORPG手遊中控制角色相機的移動跟隨(二)

實現:通過鍵盤控制相機圍繞角色進行上下左右旋轉以及相機視角的縮放。 相機的建立 建立四個空物體,分別為下圖的命名,給相機四層父物體結構,以方便實現相機在三維場景中圍繞角色旋轉以及縮放 CameraFollowAndRotate position=playe

Unity中不用自重力實現跳躍的方法

程式碼分為三部分: Update()中的輸入判定程式碼 LateUpdate()中的跳躍實現部分 OnCollisionEnter()與OnCollisionExit()的落地&離地檢測部分 當玩家按下跳躍鍵時進入跳躍狀態並判斷當前的水平速度

Unity攝像機 向指定位置移動旋轉 C#指令碼

using UnityEngine; using System.Collections; public class CameraCtrl : MonoBehaviour {float frameCount = 50.0f; // 希望多少幀內完成場景轉移// 目標位置:寫死

Unity ——UGUI 通過搖桿控制角色移動

  測試結束後,大家就會對這些介面方法有一些初步的瞭解。using UnityEngine; using UnityEngine.EventSystems; // UGUI提供了一些用來操作控制元件的一些方法, 這些方法是以回撥的形式提供的 // 通過介面回撥來實現的 /* * IPointerEnter

poj 1182 (查集)

ios int 查找 食物 spa script ble 距離 輸出 食物鏈 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 71361 Accepted: 21131 Des

HDU3635 Dragon Balls(查集)

align size any cat webkit city ret follow num 題目鏈接:   http://acm.hdu.edu.cn/showproblem.php?pid=3635 題目描述: Dragon Balls Problem Descript

HDU 3635 Dragon Balls(查集)

clas pos 水題 ont span popu post join -- 題目地址:pid=3635">HDU 3635 加權並查集水題。 用num數組維護該城市有多少龍珠,用times數組維護每一個龍珠運輸了多少次。num數組在合並的時候維護。times數

查集】HDU 3047 Zjnu Stadium

void mem ios ack string blank iostream style csdn http://acm.hdu.edu.cn/showproblem.php?pid=3047 【題意】 http://blog.csdn.net/hj1107402232/a

利用Unity的合圖切割功能將合圖切割成子圖

int 方便 無法 object idt http eal data- 像素 轉載的,牛人無處不在,我還太渺小 雖然目前網上具有切割合圖功能的工具不少,但大部分都是自動切割或者根據plist之類的合圖文件切割的, 這種切割往往不可自己微調或者很難維調,導致效果不理想。

查集——poj2236(查集)

algorithm blog oid poj2236 stream 命令 net 最大 spa 題目:Wireless Network 題意:給定n臺已損壞計算機的位置和計算機最遠通信距離d,然後分別根據命令執行以下兩種操作: "O p" (1 <= p <=

轉:java 解析excel,單元的excel

void lena words ger add leo main 下標 解析excel   收集了一些對博主有幫助的博文,如下 >>>>>>>>>>>第一部分: 首先,mavn導入jar包 <!-- 解

關於Unity中ARPG遊戲人物移動

cto height hit end cap edge con rpg遊戲 mage ARPG:動作型角色扮演類遊戲 大多數的ARPG遊戲都是使用搖桿操作,以第三人稱攝像機的方式來跟隨主角,實際上人物只走八個方向,上,下,左,右,左上,左下,右下,右上 控制角色移動

HDU - 3038 / 3048 (查集) (待補)

hdu return bsp value 題目 ios i++ mes sca 題目鏈接:點我點我 題意: 題解: 兩題代碼差不多,放個3047的。 1 #include <cstdio> 2 #include <iostream>

D - How Many Answers Are Wrong HDU - 3038 查集

following follow tar ndt wrong get gin k60 man w2csi眾美8uk唾嚎http://www.facebolw.com/space/2103369/following Y47炮K兌B巧約鐐39http://www.facebo

【BZOJ 3376】[Usaco2004 Open]Cube Stacking 方塊遊戲 查集

inline 記錄 cst cnblogs bsp tac bzoj 開始 scan 這道題一開始以為是平衡樹結果發現復雜度過不去,然後發現我們一直合並而且只是記錄到最低的距離,那麽就是帶權並查集了,帶權並查集的權一般是到根的距離,因為不算根要好打,不過還有一些其他的,具體

HDU 3038 How Many Answers Are Wrong(查集)

define pro tor memset set sizeof fin printf class 題目鏈接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1272 題目大意:有n條信息,每條信息都給出區間l到r的值,如果

POJ 1182 食物鏈 (查集)

動物 return i++ rip width d+ oid body 思維 食物鏈 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 78551 Accepte

將文件夾下的一級目錄文件改名移動目錄

.cn append ima .com r+ pan https pre color #此段代碼實現將文件夾下的一級目錄文件改名並移動目錄 #list = os.listdir(Datadir) #列出文件夾下所有的目錄與文件 #for i in range(0,len

poj1703 Find them, Catch them(查集)

har find 輸出 scanf -- oot n) puts stdin 題目鏈接 http://poj.org/problem?id=1703 題意 有兩個幫派:龍幫和蛇幫,兩個幫派共有n個人(編號1~n),輸入m組數據,每組數據為D [a][b]或A [a][