5.15考試試題

1.委托有匿名委托吸祟,不是必須帶有委托名

委托可以把一個(gè)方法作為參數(shù)代入另一個(gè)方法;

事件可以看做是一種特殊的委托

委托可以理解為指向一個(gè)函數(shù)的引用(指針)

2.IK動(dòng)畫(huà)不是只有人型動(dòng)畫(huà)才能設(shè)置璃哟,只要有avarar都可以設(shè)置IK動(dòng)畫(huà)

3.RectTransform是Transform 的子物體,有Transform 的全部特征枣耀,Unity UI系統(tǒng)使用Rectform實(shí)現(xiàn)基本的布局和層次控制,在Inspector界面上,為了更方便的調(diào)節(jié)RectTransform的屬性,錨點(diǎn)的兩個(gè)點(diǎn)重合時(shí)會(huì)顯示位置和寬高.RectTransform組件負(fù)責(zé)組織GameObject的層級(jí)關(guān)系.

4.使用IK動(dòng)畫(huà)要實(shí)現(xiàn)系統(tǒng)自帶函數(shù)OnAnimatorIK(int LayerIndex)

5.Blend Tree:1D一個(gè)方向整合

??????????????? 2D Freeform Directional,同一方向上可以有多個(gè)動(dòng)畫(huà),不建議有動(dòng)作相似的動(dòng)畫(huà)踩寇。

? ? ? ? ? ? ? ? ? ? ? ? 2D Freedform Cartesian,可以在X軸和Y軸使用不同的定義六水,自有定義動(dòng)作

??????????????????????? Direct融合表情

6.動(dòng)畫(huà)遮罩和IK:可以給全身添加IK俺孙,不是只有人形動(dòng)畫(huà)才能設(shè)置IK,只要有avator都能設(shè)置IK

7.聲音視頻資源不能作為預(yù)設(shè)體掷贾,圖片轉(zhuǎn)為精靈之后可以作為預(yù)設(shè)體

8.四元數(shù)相對(duì)于歐拉角的有點(diǎn):1)能進(jìn)行增量旋轉(zhuǎn)(插值睛榄,緩動(dòng)旋轉(zhuǎn))

????????????????????????????????????????????????? 2)避免萬(wàn)向節(jié)鎖

????????????????????????????????????????????????? 3)給定方位的表達(dá)方式有兩種,互為負(fù)(歐拉角有無(wú)數(shù)種表達(dá)方式)

任意選擇?一個(gè)場(chǎng)景(如果電腦性能不不佳,? 直接使?用Plane及Cube等搭建?一個(gè)簡(jiǎn)單場(chǎng)景),選擇?一個(gè)?角?色,?小地圖(可顯示場(chǎng)景,玩家,及可拾拾取和不不可拾拾取物品),隨機(jī)產(chǎn)?生可拾拾取物品和不不可拾拾取物品,玩家通過(guò)?鼠標(biāo)點(diǎn)擊控制?角?色移動(dòng)(使?用導(dǎo)航);(20)可拾拾取物品:拾拾取后玩家能看到實(shí)時(shí)的顯示(顯示?方式?自定)(10);不不可拾拾取物品,拾拾取后減少玩家剩余游戲時(shí)間(游戲以時(shí)間為計(jì)時(shí),減少數(shù)值?自定義);(10)游戲結(jié)束顯示結(jié)束界?面,顯示玩家最終得分(以拾拾取到的物體數(shù)為基準(zhǔn),?自定義等分規(guī)則)(5)玩家游戲時(shí)間結(jié)束,播放玩家死亡動(dòng)畫(huà),(5)

(?文件管理理,代碼規(guī)范);

using UnityEngine;

using System.Collections;

public class PlayerScript : MonoBehaviour {

public delegate void PlayerTriggerDelegate (bool isGood);

public event PlayerTriggerDelegate playerTriggerEvent;

Animator animator;

NavMeshAgent agent;

void Start ( ) {

animator = GetComponent<Animator>( );

agent = GetComponent<NavMeshAgent>( );

}

void Update ( ) {

if (Input.GetMouseButtonDown (0)) {

RaycastHit hit;

if (Physics.Raycast (Camera.main.ScreenPointToRay (Input.mousePosition), out hit)) {

if (hit.collider.tag == "Walkable") {

transform.LookAt (hit.point);

animator.SetBool (Animator.StringToHash ("WalkParams"), true);

agent.destination = new Vector3 (hit.point.x, transform.position.y, hit.point.z);

}

}

}

if (agent.remainingDistance <= 0.1) {

if (animator.GetCurrentAnimatorStateInfo (0).IsName ("HumanoidWalk")) {

animator.SetBool (Animator.StringToHash ("WalkParams"), false);

}

}

}

void OnTriggerEnter (Collider other) {

if (other.tag == "Good") {

playerTriggerEvent (true);

Destroy (other.gameObject);

} else if (other.tag == "NotGood") {

playerTriggerEvent (false);

Destroy (other.gameObject);

}

}

}



using UnityEngine;

using System.Collections;

using UnityEngine.SceneManagement;

public class GameController : MonoBehaviour {

public PlayerScript playerScr;

public UIManager uiManager;

public float remainingTime = 60.0f;//游戲剩余時(shí)間

public float gameScore;//游戲成績(jī)

public GameObject goodPerfabs;

public GameObject notGoodPerfabs;

private float time = 1.0f;

private bool isDead;

void Start ( ) {

playerScr = GameObject.Find ("Ethan").GetComponent<PlayerScript>( );

playerScr.playerTriggerEvent += ChangeData;

uiManager = GameObject.Find ("Canvas").GetComponent<UIManager>( );

}

void Update ( ) {

time += Time.deltaTime;

remainingTime -= Time.deltaTime;

if (remainingTime > 0) {

//刷新UI的計(jì)時(shí)

uiManager.time = remainingTime;

if (time >= 2f) {

int number = Random.Range (0, 2);

GameObject anything;

if (number == 0) {

anything = Instantiate (goodPerfabs) as GameObject;

Destroy (anything, 4.0f);

} else {

anything = Instantiate (notGoodPerfabs) as GameObject;

Destroy (anything, 6.0f);

}

anything.transform.position = GetAbledPostion ();

anything.transform.rotation = Quaternion.identity;

time = 0.0f;

}

} else {

uiManager.time = 0.0f;

if (!isDead) {

//播放死亡動(dòng)畫(huà)

GameObject.Find ("Ethan").GetComponent<Animator>().SetTrigger (Animator.StringToHash ("DeadParams"));

isDead = true;}

//并且彈出游戲失敗界面

//獲取動(dòng)畫(huà)時(shí)長(zhǎng)

float clipLength = GameObject.Find ("Ethan").GetComponent<Animator>( )

.GetCurrentAnimatorClipInfo (0)[0].clip.length;

Invoke ("LoadGameOverScene", clipLength + 0.5f);

PlayerPrefs.SetFloat ("Score", gameScore);

}

}

//加載游戲結(jié)束場(chǎng)景

void LoadGameOverScene () {

SceneManager.LoadScene (1);

}

Vector3 GetAbledPostion () {

ArrayList colliders = new ArrayList ();

Vector3 pos;

do {

float x = Random.Range (-4.75f, 4.75f);

float z = Random.Range (-4.75f, 4.75f);

pos = new Vector3 (x, 0.5f, z);

colliders = new ArrayList (Physics.OverlapSphere (pos, 0.3f));

} while (colliders.Count > 0);

return pos;

}

public void ChangeData (bool isGood) {

if (isGood) {

gameScore += 2;

//刷新UI界面

uiManager.score = gameScore;

} else {

remainingTime -= 10.0f;

//刷新UI界面

uiManager.time = remainingTime;

}

}

}



using UnityEngine;

using System.Collections;

using UnityEngine.UI;

public class UIManager : MonoBehaviour {

public float score {

set {

scoreText.text = "得分 :" + value.ToString();

}

}

public float time {

set {

timeText.text = "剩余時(shí)間 :" + value.ToString("0.00");

}

}

Text scoreText;

Text timeText;

void Awake () {

scoreText = transform.GetChild (0).GetChild (0).gameObject.GetComponent<Text>();

timeText = transform.GetChild (0).GetChild (1).gameObject.GetComponent<Text>();

}

// Update is called once per frame

void Update () {

}

}



using UnityEngine;

using System.Collections;

using UnityEngine.UI;

public class GetScoreScript : MonoBehaviour {

Text finallScoreText;

void Awake () {

finallScoreText = GetComponentInChildren<Text>();

}

void Start () {

finallScoreText.text = "最終得分為 :" + PlayerPrefs.GetFloat ("Score").ToString("0.0");

}

void Update () {

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胯盯,一起剝皮案震驚了整個(gè)濱河市懈费,隨后出現(xiàn)的幾起案子计露,更是在濱河造成了極大的恐慌博脑,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件票罐,死亡現(xiàn)場(chǎng)離奇詭異叉趣,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)该押,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門疗杉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事烟具∩沂玻” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵朝聋,是天一觀的道長(zhǎng)嗡午。 經(jīng)常有香客問(wèn)我,道長(zhǎng)冀痕,這世上最難降的妖魔是什么荔睹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮言蛇,結(jié)果婚禮上僻他,老公的妹妹穿的比我還像新娘。我一直安慰自己腊尚,他們只是感情好吨拗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著婿斥,像睡著了一般丢胚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上受扳,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天携龟,我揣著相機(jī)與錄音,去河邊找鬼勘高。 笑死峡蟋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的华望。 我是一名探鬼主播蕊蝗,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赖舟!你這毒婦竟也來(lái)了蓬戚?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宾抓,失蹤者是張志新(化名)和其女友劉穎子漩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體石洗,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡幢泼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讲衫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缕棵。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出招驴,到底是詐尸還是另有隱情篙程,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布别厘,位于F島的核電站房午,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏丹允。R本人自食惡果不足惜郭厌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望雕蔽。 院中可真熱鬧折柠,春花似錦、人聲如沸批狐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嚣艇。三九已至承冰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間食零,已是汗流浹背困乒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贰谣,地道東北人娜搂。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吱抚,于是被迫代替她去往敵國(guó)和親百宇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容