unity 跑酷遊戲開發筆記(二)

2021-06-25 12:20:51 字數 1833 閱讀 6031

2014.9.7

今天要做道路無限迴圈,這樣就可以實現基本的跑酷了。

我這裡建立了乙個cube 把這個cube拉長。這樣就可以成為乙個臨時跑道的。

在cube裡面有兩個子物體。location這個是乙個空物體。這個物體是要放到cube的一邊的最前面。目的是可以在這個物體的座標上生成下一段跑道,後面的judgecreation。這個我是建立了乙個cube之後把這個物體上的boxcollider,元件的大小增大到站滿乙個跑道,

如圖:

贈大到這個樣子。

這個物體的inspector

路的模型基本就這個樣子了。

對了,。我在judgecreation這個物體的tag裡設定了bg1這個標籤

好的。現在來看**。。

我建立的名字是judgetera

#region 屬性

private string bc;//路的標籤

#endregion

#region 物件

public gameobject bi;

private transform m_transform;//有這個指令碼的物體

private transform m_zitransform;//這個物體的夫物體的乙個子類

#endregion

protected voidsetattribute(string name) {

bc = name;

///

/// 虛方法。為了在其他方法中可以重寫。

///

protected virtual void m_int() {

// use this for initialization

void start () {

bi = new gameobject();

m_transform = this.transform;

m_zitransform =m_transform.parent.find("location");

// update iscalled once per frame

void update () {

m_int();

void ontriggerenter(collider co) {

if (co.comparetag("player")){

// debug.log(bc);

bi =gameobject.findgameobjectwithtag(bc);

bi.transform.parent.position = newvector3(0, 0, m_zitransform.position.z+22f);

這樣就可以實現把路移動到指定位置了。但是這樣只是能移動乙個。我這裡提供了乙個虛方法。之後在寫一些派生類。在派生類裡繼承這個指令碼。來重寫這個方法。

public classjudcube_01 : judgetera {

protected override void m_int()

setattribute("bg2");

這個就是派生類。這裡重寫了父類的虛方法。把這個類新增給judgecreation 這個裡。

之後我建立了3個cube 的道路。。裡面都有judgecreation這個物體。給這個物體的tag新增了3個標籤。分別是bg1,bg2,bg3, 這三個。這樣當角色碰到judgecreation後。就會自動的將道路移動到指定位置了。好了今天就寫這些吧。明天看看做障礙物和道具獲取。

cocos2d js跑酷遊戲實戰筆記1

cocos2d js跑酷遊戲實戰筆記1 用cocos2d js載入瓦片地圖 為了訪問瓦片地圖,cocos2d js中訪問瓦片地圖api,主要的類有 tmxtiledmap tmxlayer和tmxobjectgroup等。tmxtiledmap類圖 tmxtiledmap常用的函式如下 new cc...

cocos2d JS跑酷遊戲實戰筆記2

cocos2d js跑酷遊戲實戰筆記2 地圖載入出錯,原因是獲取人物的座標,轉化成地圖座標的行和列後,獲取地圖的gidat時橫縱座標時弄反了 獲取人物的縱座標var y hero.getpositiony 判斷是否在地圖的塊上 if y 32 座標轉化成地圖的行和列 var nowrow parse...

iphone 開發筆記二

11 iphone中變數值是否等於字串的判斷方法 objective c string1 isequaltostring 123 12 iphone的framework的目錄 mac developer platforms iphoneos.platform developer sdks iphon...