Unity色子的投擲與點數的獲得(詳解)

2022-07-28 02:09:07 字數 1188 閱讀 9476

前幾天需要乙個色子的投擲並且獲得朝上點數的unity指令碼,在網上找了很多,都是乙個模子刻出來的。

對於2018版的我來說,網上找的都是很早就棄用了的老版本。

好不容易能執行了,結果並不理想,於是又突發奇想做了乙個菜鳥專屬的色子。

大家可以參觀一下,實測unity2018.1.1f能用。

話不多說先上圖。

場景的搭建我就不多說了,主要還是色子。

首先,我們需要自己做出色子的六個面(我菜只想到這種方法,反正實現了就行)。

然後根據色子上的點數將每個面改名為乙個特有的名字。

我這裡為了方便直接用的1 2 3....來命名。

最後給他加上剛體rigidbody讓色子更加真實。

ps:多出來的gameobject是為了調整他的中心點,方便旋轉。

接下來,我們讓色子旋轉起來!

就當滑鼠左鍵點選使,分別給x,y,z方向上乙個隨機值。

然後在色子當前的位置上加上所需要旋轉的角度。

這裡我們給了乙個計時器timer,讓他旋轉兩秒。

if (input.getmousebuttondown(0

))

if(timer<2.0f)//

規定 旋轉時間為兩秒

然後我們通過getnum來獲取色子停止時向上的面的名字,

再根據名字得到它的點數。

這裡由於我們直接設的數字,

將得到的名字轉化為int型就可以了。

void

getnum()

}num = int.parse(upobj.name);//

將朝上面 的名字 轉化為int

}

接下來點選左鍵,就可以獲取到我們的資料了。

大家一起學習,一起進步。

(我是菜鳥,大神勿噴!)

劍指Offer50 n個色子的點數

把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。你需要用乙個浮點數陣列返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。示例 輸入 1 輸出 0.16667,0.16667,0.16667,0.16667,0.16...

unity 浮點數的不精確引發的地磚縫隙

unity中,大多數時候,都需要用 float 型別,與 int 型別不同,float 型別在進行計算的時候,會有誤差,或多或少。有乙個問題,就是誤差是會累積的,假如,一次誤差 0.001是無傷大雅的,但是,累積到 0.1的時候,可能,就會出現問題,最直觀的情況,就是 地圖的拼接,大多地圖都是由地塊...

FixedUpdate與unity方法的檢視

private void fixedupdate void update fixedupdate 和update的區別 1 fixedupdate 固定更新方法,和物理相關的操作 都要寫在此方法中。固定更新的時間是0.02s,1秒執行50次,可在edit project settings time面...