Unity — 以一個中心點創建一個格子

更新於 發佈於 閱讀時間約 3 分鐘

緣由

生成一個格子是一件十分之簡單的事,但我不知道為甚麼每一次重新寫的時候,都會忘記如何寫。所以我在這裏記錄一下。

代碼

public float num;

public GameObject currentGameObject;

void Update()

{
if(Input.GetKeyDown(KeyCode.Space))
Generate();
}

//生成格子
void Generate()
{
//判斷單數或雙數
switch (num % 2)
{
case 0:
Even();
break;
case 1:
Singular();
break;
}
}

//單數
void Singular()
{
int max = (int)num / 2;
for (int i = -max; i < max + 1; i++)
{
Vector3 p = transform.position +
new Vector3(i * (gameObject.transform.localScale.x + 0.5f), 0);
Instantiate(currentGameObject, p, Quaternion.identity);
}
}

//雙數
void Even()
{
float length = 0.5f + gameObject.transform.localScale.x;
for (int i = 0; i < num / 2; i++)
{
for (int j = 0; j <= 1; j++)
{
float xPos = i == 0 ? length / 2 : length * (i + 0.5f);
float dir = j == 0 ? 1 : -1;

Vector3 p = new Vector3(xPos * dir, 0);
Instantiate(currentGameObject, p, Quaternion.identity);
}
}
}

結尾

這個真的不難就不解析了。

avatar-img
0會員
7內容數
這裏分享我遊戲開發的記錄,亦會分享開發的小技巧。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~