Unity從0開始摸魚 初章

2021-10-03 07:50:09 字數 1459 閱讀 6560

2月28日

學了兩個禮拜的unity,到今天才想起來得整個東西記錄一下學習和問題啥的,失策了。

亡羊補牢從今天開始也不算晚。

就記錄一下還記得的一些問題吧。

gameobject:十分重要,場景內的元件都可用這個來定義

vector2:2d座標

隨機取得位置函式:

private vector2 randomposition()

將建立出來的場景物體都歸到乙個資料夾中:

gameobject go =  gameobject.instantiate(wallprefab, pos, quaternion.identity);

go.transform.setparent(mapholder);

主角的碰撞檢測:

//碰撞檢測

collider.enabled = false;//去掉自身所處位置的碰撞

raycasthit2d hit = physics2d.linecast(targetpos,targetpos+new vector2(h,v));//(開始位置,結束位置)

collider.enabled = true;//檢測後再將原本位置的碰撞加上

if (hit.transform == null)

else

控制移動:主要是按下按鍵的檢測:

rigidbody.moveposition(vector2.lerp(transform.position, targetpos, smoothing * time.deltatime));

resttimer += time.deltatime;

if (resttimer < resttime)

return;

//檢測按鍵的按下

float h = input.getaxisraw("horizontal");

float v = input.getaxisraw("vertical");

if (h > 0)

if (h != 0 || v != 0)

受到攻擊判定:

private int  hp=2;

public sprite damagesprite;//收到攻擊的/動畫

//自身受到攻擊

public void takedamage()

}

判斷方位

vector2 offset = player.position - transform.position;
animator:動畫元件

box collider:碰撞元件

rigidbody :剛體元件

其中body type中kinematic為不受重力影響

unity從0開始摸魚日記7,tkDemo6

再不開學我人沒了 在場景中隨機產生wall,river,barrier等,先定義乙個陣列存放已經有東西的位置,避免重複生成,然後在生成方法中將每次生成的物體座標加到陣列中 產生隨機位置的方法 private vector3 createrandomposition 判斷位置是否存在物體 privat...

unity從0開始摸魚日記24,衝刺殘影

打算給衝刺加乙個特效,在身後留下殘影 基本思路是,在身後建立若干個玩家的複製體,並且逐漸變透明消失 objectpool 物件池 物件池物件池是一種動態呼叫物體的結構。在物件池中物體被儲存在乙個容器中,並且實現物體的自動顯示 執行和 需要使用物體時將物體移出物件池,令其使能 物體功能完成後自動將物體...

unity從0開始摸魚日記31,銷毀所有敵人,清屏

做乙個清屏大招,消除當前所有敵人 由兩部分組成,乙個是銷毀所有敵人,乙個是伴隨攝像機抖動的特效 先做簡單的,銷毀所有敵人 用findgameobjectsbytag,獲取所有敵人,然後銷毀 gameobject allenemy gameobject.findgameobjectswithtag e...