unity基礎命令

2022-07-19 20:45:26 字數 1880 閱讀 6768

獲取所掛指令碼元素的元件:

rd = getcomponent();

獲取其他元素的元件:

rd = gameobject.find("

player

").getcomponent()

如果查詢player下的子遊戲物體的transform元件可繼續find

transform trans=gameobject("

player

").transform.find(「zplayer」)

transform.find查詢子遊戲物體的transform元件。
剛體元件加力效果:

private

rigidbody rd;

rd.addforce(

new vector3(1, 0, 0));

鍵盤獲取:

以上為api文件中的相關解釋,可以通過unity中edit-project settings中進行相關修改。getaxis獲取移動軸,獲取按鍵則是getkeydown,入口引數為要按的keycode,返回值為bool。

float h = input.getaxis("

horizontal");

float v = input.getaxis("

vertical

");

transform元件:

transform元件是每乙個遊戲物體必存在的屬性,所以可以通過transform可以直接獲取到指令碼所在遊戲物體的transform元件,也可以用gameobject的find方法獲取到相應元件,也可以定義乙個public 的transform元件字段,然後把相應元件拖入。在此多說一點採用rigidbody.vector和angularvelocity與rigidbody.translate和rotate產生的效果是一樣的。

碰撞檢測與觸發檢測:

關於碰撞檢測和觸發檢測的具體定義可以檢視api文件,在此只做一下簡單說明以及注意事項。碰撞檢測為兩個物體相撞,會有相撞以後**的物理效果,其message void oncollisionenter(collision collision)中入口引數為collision,表示相撞事件,通過其可以獲得與遊戲物體相撞的collider,繼而獲取其他引數,屬性等。當設定為觸發器時(即collider的istriger勾選時)表示此物體不是實體,可以穿越,但是此物體定義了乙個範圍,當進入此範圍時觸發訊息void ontriggerenter(collider collider),其入口引數即為與遊戲物體相撞的物體。

轉殖物體:

if

(input.getkeydown(keycode))

根據上述基礎,貼幾段小**:

自毀:

void

start ()

打擊物體:

void

ontriggerenter(collider collider)

//destroy(collider.gameobject);

}

子彈發射:

private

transform trans;

//遊戲物體子彈

public

gameobject shell;

public keycode key =keycode.space;

//use this for initialization

void

start ()

//update is called once per frame

void

update ()

}

未完待續。。。。。。。。。。

unity基礎學習05

滑鼠鍵盤輸入 1.獲取鍵盤輸入 1.相關 input.getkey 按下某鍵後,持續返回 true input.getkeydown 按下某鍵的一瞬間,返回 true input.getkeyup 抬起某鍵的一瞬間,返回 true 返回值 bool 型別 引數 keycode 列舉 enum key...

Unity基礎 物件池

物件池是一種通過空間來換取時間的思想 佔記憶體,時間消耗少 適用性 頻繁建立 銷毀遊戲物件 字典 型別,物件 資料結構 dictionary 核心成員 1.通過物件池建立物件 2.物件 using system.collections using system.collections.generic...

Unity基礎知識

unity在2012年左右,才進入中國,在上海優美締,開發手遊比較多。為什麼unity打包成exe後,介面是unity?因為沒氪金!中文 官網 unity.cn 我們主要還是用lts 長期支援版 unity editor 64 bit windows的一些 android的面向元件 跨平台 全平台 ...