雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門教程網(wǎng)!

C#教程

當(dāng)前位置:主頁(yè) > 軟件編程 > C#教程 >

Unity色子的投擲和點(diǎn)數(shù)的獲得詳析

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C#教程|點(diǎn)擊:

前言

前幾天需要一個(gè)色子的投擲并且獲得朝上點(diǎn)數(shù)的Unity腳本,在網(wǎng)上找了很多,都是一個(gè)模子刻出來(lái)的。

對(duì)于2018版的我來(lái)說(shuō),網(wǎng)上找的都是很早就棄用了的老版本。

好不容易能運(yùn)行了,結(jié)果并不理想,于是又突發(fā)奇想做了一個(gè)菜鳥(niǎo)專屬的色子。

大家可以參觀一下,實(shí)測(cè)Unity2018.1.1f能用。

話不多說(shuō)先上圖。

場(chǎng)景的搭建我就不多說(shuō)了,主要還是色子。

方法如下

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

然后根據(jù)色子上的點(diǎn)數(shù)將每個(gè)面改名為一個(gè)特有的名字。

我這里為了方便直接用的1 2 3....來(lái)命名。

最后給他加上剛體Rigidbody讓色子更加真實(shí)。

PS:多出來(lái)的GameObject是為了調(diào)整他的中心點(diǎn),方便旋轉(zhuǎn)。

接下來(lái),我們讓色子旋轉(zhuǎn)起來(lái)!

就當(dāng)鼠標(biāo)左鍵點(diǎn)擊使,分別給X,Y,Z方向上一個(gè)隨機(jī)值。

然后在色子當(dāng)前的位置上加上所需要旋轉(zhuǎn)的角度。

這里我們給了一個(gè)計(jì)時(shí)器timer,讓他旋轉(zhuǎn)兩秒。

if (Input.GetMouseButtonDown(0))

 {
  isdebug = true;
  //取XYZ的隨機(jī)旋轉(zhuǎn)值 
  p_x = Random.Range(minrot, maxrot);
  p_y = Random.Range(minrot, maxrot);
  p_z = Random.Range(minrot, maxrot);
  timer = 0.0f;//點(diǎn)擊后計(jì)時(shí)器清零
 }
 if(timer<2.0f)//規(guī)定 旋轉(zhuǎn)時(shí)間為兩秒
 {
  //旋轉(zhuǎn)色子
  transform.Rotate(new Vector3(transform.rotation.x+p_x, transform.rotation.y + p_y, transform.rotation.z + p_z));
 }

然后我們通過(guò)GetNum來(lái)獲取色子停止時(shí)向上的面的名字,

再根據(jù)名字得到它的點(diǎn)數(shù)。

這里由于我們直接設(shè)的數(shù)字,

將得到的名字轉(zhuǎn)化為int型就可以了。

void GetNum()
 {
  Transform[] obj=new Transform[6];//聲明數(shù)組存放色子的六個(gè)面
  Transform upobj= transform.GetChild(0).GetChild(0);//聲明朝上的面 
  for(int i=0;i<6;i++)//循環(huán)判斷哪個(gè)面朝上
  {
   obj[i]=transform.GetChild(0).GetChild(i);
   if(obj[i].position.y>upobj.position.y)
   {
    upobj = obj[i];
   }
  }
  num = int.Parse(upobj.name);//將朝上面 的名字 轉(zhuǎn)化為int
 }

接下來(lái)點(diǎn)擊左鍵,就可以獲取到我們的數(shù)據(jù)了。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)我們的支持。

上一篇:C#沉淀之委托的深入講解

欄    目:C#教程

下一篇:沒(méi)有了

本文標(biāo)題:Unity色子的投擲和點(diǎn)數(shù)的獲得詳析

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5076.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有