中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做外貿(mào)網(wǎng)站建設(shè)百度排名推廣

做外貿(mào)網(wǎng)站建設(shè),百度排名推廣,一般公路建設(shè)招投標(biāo)在什么網(wǎng)站上,網(wǎng)頁設(shè)計實訓(xùn)總結(jié)200字目錄 一、前言 二、開發(fā)環(huán)境 三、場景搭建 1. 創(chuàng)建項目 2. 創(chuàng)建場景內(nèi)物體 2.1 創(chuàng)建跑道 2.2 創(chuàng)建玩家 2.3 創(chuàng)建障礙物 2.4 改變跑道和障礙物的顏色 2.4.1 創(chuàng)建材質(zhì) 2.4.2 給跑道和障礙物更換材質(zhì) 四、功能腳本實現(xiàn) 1. 創(chuàng)建玩家腳本 2. 相機跟隨 3. 勝負的判定 3.1 …

目錄

一、前言

二、開發(fā)環(huán)境

三、場景搭建

????????1. 創(chuàng)建項目

2. 創(chuàng)建場景內(nèi)物體

????????2.1 創(chuàng)建跑道

2.2 創(chuàng)建玩家

?2.3 創(chuàng)建障礙物

?2.4 改變跑道和障礙物的顏色

2.4.1 創(chuàng)建材質(zhì)

2.4.2 給跑道和障礙物更換材質(zhì)

四、功能腳本實現(xiàn)

????????1. 創(chuàng)建玩家腳本

2. 相機跟隨

3. 勝負的判定

3.1 游戲失敗

3.1.1 碰撞到障礙物

3.1.2? 小球掉下跑道

3.1.3? 重新開始游戲

3.2 游戲勝利

3.2.1 給空物體添加腳本

五、結(jié)束語


一、前言

????????本案例是初級案例,意在引導(dǎo)想使用unity的初級開發(fā)者能較快的入門,體驗unity開發(fā)的方便性和簡易性能。

? ? ? ? 游戲中,小球會以恒定的速度向前運動。玩家通過控制小球左右移動來避開小球在前進路上的障礙物。如果玩家控制小球一直向前跑,一定距離后則認定玩家取得勝利。當(dāng)玩具在取得勝利前,碰到路上的障礙物或者跌落路面,游戲失敗。

二、開發(fā)環(huán)境

操作系統(tǒng):Windows

Unity 版本:2021.3.11f1c2 LTS

三、場景搭建

???????1. 創(chuàng)建項目

? ? ? ? 1.1 打開Unity Hub,在Project標(biāo)簽下,點擊右上角 New project 按鈕。打開新建項目對話框。

? ? ? ? 1.2 在新建項目窗口中,選擇3D 模板,填入項目名稱?BallRun,選擇項目保存的位置,取消版本控制選項的對鉤,點擊 Create project 按鈕,完成項目創(chuàng)建。

? ? ? 2. 創(chuàng)建場景內(nèi)物體

? ? ? ?2.1 創(chuàng)建跑道

????????在場景中新建一個 Cube(立方體),重命名為Road,并將其長度設(shè)定為1000, 寬度改為8,然后將其位置向前移動480,此作為小球的跑到,如圖。

? ? ? ? 2.2 創(chuàng)建玩家

? ? ? ? 新建一個小球(Sphere)作為玩家,重命名為Player,并放在道路上,調(diào)整到合適的位置。(小提示:按住Ctrl建拖拽,可以更好的控制小球的位置)

? ? ? ? 2.3 創(chuàng)建障礙物

? ? ? ? 新建若干個Cube(立方體)作為障礙物,并重命名為Barrier,調(diào)整障礙物的大小并放到合適的位置。因為要創(chuàng)建多個障礙物,為了以后使用方便,我們可以把障礙物做成預(yù)制體,這樣我們就可以重復(fù)使用這個預(yù)制體了。

? ? ? ? 在Project窗口下,新建文件夾并命名為 Prefabs,然后把 新建的障礙物(Cube)直接拖到Prefabs 目錄下,這樣預(yù)制體就做好了。

? ? ? ? 在Hierarchy窗口中選中障礙物(Barrier), 按住Ctrl+D, 復(fù)制多個物體,并調(diào)整他們到合適的位置,完成小球前進路上障礙物的設(shè)置。最終效果如圖:

? ? ? ?2.4 改變跑道和障礙物的顏色

????????現(xiàn)在,我們看到場景里的小球、道路和障礙物都是白色的,為了更好的區(qū)分,我們更改一下道路和障礙物的顏色。更改3D物體的顏色,我們可以通關(guān)修改3D物體材質(zhì)的顏色來改變物體的顏色。

? ? ? ? 選中物體,我們發(fā)現(xiàn)道路和障礙物使用的默認材質(zhì)并不能直接修改顏色,因此我們需要自己創(chuàng)建跑道和障礙物的材質(zhì)。

? ? ? ? 2.4.1 創(chuàng)建材質(zhì)

? ? ? ? 在Project窗口下新建文件夾,命名為Materials,用來保存我們自己創(chuàng)建的材質(zhì)。在Materials文件夾內(nèi)右鍵,依次選擇 Create -> Material,將新建的Material命名為Road,并調(diào)整其顏色為深灰色(顏色值為:201E1E)。用同樣的方式創(chuàng)建障礙物的材質(zhì),命名為Barrier,并調(diào)整其顏色為淺灰色(顏色值:A49898)。(?讀者也可以調(diào)整為自己喜歡的顏色,顏色主要為了更好地區(qū)分場景內(nèi)的物體,提高用戶游戲體驗)

? ? ? ? 2.4.2 給跑道和障礙物更換材質(zhì)

? ? ? ? 將我們創(chuàng)建的材質(zhì)Road,直接拖拽到 Hierarchy 窗口的Road物體上,可以看到跑道的顏色以已經(jīng)改變。用同樣的方式,更換障礙物的材質(zhì)。

小提示:

由于障礙物是使用的預(yù)制體,因此,我們選中預(yù)制體,直接把Barrier材質(zhì)拖到預(yù)制體上,這樣場景中的所以物體都會改變。這就是使用預(yù)制體的好處。

最終效果如圖:

好了,到此為止,我們的場景就算搭建完了,下面我們就要進行功能的實現(xiàn)了。

四、功能腳本實現(xiàn)

? ? ? ? 在Project窗口中新建文件夾Scripts,用來保存我們的腳本文件。

? ? ? ? 1. 創(chuàng)建玩家腳本

? ? ? ? 和創(chuàng)建材質(zhì)一樣,在Scripts文件夾右鍵,依次點擊 Create -> C# Script,并命名為Player。將創(chuàng)建的Player腳本拖拽到 Hierarchy 窗口的Player物體上,如圖:

? ? ? ? 雙擊打開Player腳本,輸入以下代碼,其中,speed 是小球向前跑的速度,是一個恒定值,默認為10;turnspeed 是玩家控制小球時,小球左右移動的速度。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Player : MonoBehaviour
{public float speed = 10f;public float turnSpeed = 5f;void Update(){ float turnX = Input.GetAxis("Horizontal");transform.Translate(turnX * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime);}
}

????????運行游戲,發(fā)現(xiàn)小球開始向前跑,當(dāng)按下鍵盤上的左右方向鍵或者A/D鍵的時候,小球會左右移動。

????????如果感覺速度不合適,可以通過 Inspector 面板對速度進行調(diào)節(jié),如圖:

????????但是在運行時,我們發(fā)現(xiàn),小球會越跑越遠,慢慢的就超出我們是視線了,而我們平時玩的跑酷都是一直在視線內(nèi)。接下來我們就實現(xiàn)相機的跟隨。

? ? ? ? 2. 相機跟隨

? ? ? ? 其實,實現(xiàn)相機的跟隨有兩種方式,一種是利用腳本控制相機的位置,使相機和小球一直保持一定的相對位置。另一種則更為簡單,直接把相機作為小球的子物體,這樣小球在移動的時候,相機也會跟著一起移動。這里我們采用第二種方式。

? ? ? ? 在Hierarchy窗口中拖到相機(Main Camera)到小球(Player)底下。再次運行游戲看下效果,相機一直跟隨小球運動了。

? ? ? ? 3. 勝負的判定

? ? ? ? 當(dāng)小球碰撞到障礙物或者掉落到跑道之外的時候,游戲失敗。當(dāng)小球一直未碰到障礙物,一段距離后,判定游戲勝利。

? ? ? ? 為方便管理,我們將場景中的障礙物都放到一個空物體下。在Hierarchy窗口右鍵,點擊 Create Empty, 創(chuàng)建一個空物體,命名為Barriers,然后選中所有的障礙物,拖動到空物體(Barriers)下。

? ? ? ?3.1 游戲失敗
? ? ? ?3.1.1 碰撞到障礙物

????????在Scripts文件夾下新建腳本Barrier.cs文件,然后把腳本拖拽到預(yù)制體Barrier之上。選中Barrier預(yù)制體,勾選預(yù)制體上Box Collider的Is Trigger 選項。

? ? ? ? 雙擊Barrier.cs文件,在腳本中輸入以下代碼:


using UnityEngine;public class Barrier : MonoBehaviour
{void OnTriggerEnter(Collider other){if (other.name == "Player"){Debug.Log("游戲失敗");Time.timeScale = 0;  // 游戲停止}}
}

小提示:

????????Time.timeScale表示游戲的運行時間倍率,設(shè)置為0即表示游戲里的時間停滯,1即正常的時間流逝速度,2即兩倍于正常的時間流逝速度,以此類推。

????????在Hierarchy窗口中選中小球(Player),添加Rigid Body 組件。然后保存,運行游戲,當(dāng)小球碰到障礙物的時候,游戲便會停止。?

? ? ? ? 3.1.2? 小球掉下跑道

? ? ? ? 雙擊打開Player.cs腳本,在Update方法里繼續(xù)補充小球掉下跑道的邏輯。由于跑道的寬度是8,所以跑道的左邊緣為-4,右邊緣是4. 小球超出邊緣后,直接掉落,在掉落一段距離(此處設(shè)置的是20)后,判定游戲結(jié)束。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Player : MonoBehaviour
{public float speed = 10f;public float turnSpeed = 5f;void Update(){ float turnX = Input.GetAxis("Horizontal");transform.Translate(turnX * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime);// 小球的位置超出跑道的邊緣,則直接掉落if(transform.position.x<-4||transform.position.x>4){transform.Translate(0, -10 * Time.deltaTime, 0);}// 下落一定距離之后游戲結(jié)束if(transform.position.y<-20){Debug.Log("游戲結(jié)束");Time.timeScale = 0;}}
}

? ? ? ? 保存腳本,運行游戲,則小球超出邊緣后會垂直下落,一段距離后游戲停止。

? ? ? ? 3.1.3? 重新開始游戲

????????當(dāng)游戲失敗結(jié)束時應(yīng)該允許玩家重新開始游戲,這里設(shè)置鍵盤上的R鍵為重置游戲的按鍵,在按R鍵后即可重新加載當(dāng)前場景,重新開始游戲。

? ? ? ? 在Player.cs腳本的 Update 方法里繼續(xù)添加代碼。注意:這次是添加在前面,注意引入命名空間?using UnityEngine.SceneManagement;

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;public class Player : MonoBehaviour
{public float speed = 10f;public float turnSpeed = 5f;void Update(){ // 按鍵盤上的R鍵,重新開始游戲if(Input.GetKeyDown(KeyCode.R)){SceneManager.LoadScene(0); // 重新加載場景Time.timeScale = 1;return;}float turnX = Input.GetAxis("Horizontal");transform.Translate(turnX * turnSpeed * Time.deltaTime, 0, speed * Time.deltaTime);// 小球的位置超出跑道的邊緣,則直接掉落if(transform.position.x<-4||transform.position.x>4){transform.Translate(0, -10 * Time.deltaTime, 0);}// 下落一定距離之后游戲結(jié)束if(transform.position.y<-20){Debug.Log("游戲結(jié)束");Time.timeScale = 0;}}
}
? ? ? ? 3.2 游戲勝利

? ? ? ? 當(dāng)小球跑一段距離后,我們判定游戲勝利,因此我們需要在跑道上建一個空的物體,作為小球勝利的終點。這個空的物體和障礙物一樣,只是它看不見,僅僅作為小球勝利的觸發(fā)器。

? ? ? ? 我們在跑道上新建一個空物體。在Hierarchy窗口,右鍵->Create Empty。將空物體命名為Victory,點擊Add Component 按鈕,添加Box Collider組件,調(diào)整空物體的大小和位置(位置可以自己設(shè)定),同時勾選空物體Box Collider 上的Is Trigger 復(fù)選框,使空物體變成觸發(fā)器。如圖:

? ? ? ? 3.2.1 給空物體添加腳本

? ? ? ? 在Scripts文件夾下,新建腳本文件,命名為Victory,作為小球勝利的邏輯腳本。把Victory腳本掛載到空物體上(直接把腳本拖到空物體上即可)。雙擊打開Victory腳本,編寫勝利邏輯。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Victory: MonoBehaviour
{private void OnTriggerEnter(Collider other){if (other.name == "Player"){Debug.Log(" 恭喜勝利! ");Time.timeScale = 0;}}
}

? ? ? ? 保存腳本,運行游戲。至此,這個小游戲的基本代碼就完成了。

五、結(jié)束語

? ? ? ? 本案例作為初級游戲案例,意在使初級開發(fā)者可以快速的上手一款游戲的開發(fā),了解Unity開發(fā)游戲的便捷,培養(yǎng)初級開發(fā)者對游戲開發(fā)的興趣。

? ? ? ? 作為初級開發(fā)者案例,本案例還有許多不足和可以改進的地方,比如可以增加按上鍵使小球跳躍、增加音樂音效、增加金幣、積分,更進一步可以做出勝利和失敗的UI界面,這些都可以留待讀者自行添加。

? ? ? ? 最后,希望本案例能對您有所幫助或有所啟迪,在游戲開發(fā)的道路上,做出自己喜歡的游戲。

????????

http://www.risenshineclean.com/news/4252.html

相關(guān)文章:

  • 政府網(wǎng)站運營方案廈門百度廣告
  • 東莞網(wǎng)站建設(shè)招聘內(nèi)蒙古最新消息
  • 人工客服系統(tǒng)代做seo關(guān)鍵詞排名
  • 漂亮的手機網(wǎng)站模板下載最新的軍事新聞
  • 蘇州市城鄉(xiāng)建設(shè)檔案館網(wǎng)站如何看待百度競價排名
  • 什么是網(wǎng)站獨立訪問者數(shù)量seo如何優(yōu)化關(guān)鍵詞上首頁
  • 門戶網(wǎng)站開發(fā)需求分析網(wǎng)絡(luò)營銷未來有哪些發(fā)展趨勢
  • wordpress怎么靜態(tài)頁面東莞搜索優(yōu)化十年樂云seo
  • wordpress最新的編輯器南寧網(wǎng)站優(yōu)化
  • 可以轉(zhuǎn)app的網(wǎng)站怎么做資深seo顧問
  • 網(wǎng)站建設(shè)全套教程含前端和后端關(guān)鍵詞排名客服
  • ppt網(wǎng)站鏈接怎么做seo排名關(guān)鍵詞搜索結(jié)果
  • 成都市做網(wǎng)站的公司百度推廣app怎么收費
  • 網(wǎng)站后綴百度影響力排名順序
  • 怎么創(chuàng)建私人網(wǎng)站微信推廣多少錢一次
  • 國外推廣網(wǎng)站國內(nèi)營銷推廣渠道
  • 做蛋白go分析網(wǎng)站高端企業(yè)網(wǎng)站定制公司
  • 美橙表業(yè)手表網(wǎng)站2023年5月份病毒感染情況
  • 有域名 有主機 怎么建設(shè)網(wǎng)站獨立站seo外鏈平臺
  • 東莞seo建站優(yōu)化方法如何制作一個網(wǎng)頁鏈接
  • 江西做企業(yè)網(wǎng)站的公司無錫網(wǎng)絡(luò)推廣外包
  • 中山網(wǎng)站優(yōu)化關(guān)鍵詞排名優(yōu)化公司哪家強
  • dw做旅游網(wǎng)站模板下載網(wǎng)頁搜索排名提升
  • 網(wǎng)站備案 假通信地址seo深圳培訓(xùn)班
  • 新疆建設(shè)兵團125團網(wǎng)站什么是網(wǎng)站
  • 網(wǎng)站如何做原創(chuàng)文章什么是關(guān)鍵詞舉例說明
  • 煙臺開發(fā)區(qū)網(wǎng)站制作公司快速優(yōu)化網(wǎng)站排名的方法
  • 東莞網(wǎng)站seo推廣優(yōu)化金蝶進銷存免費版
  • 郴州網(wǎng)站建設(shè)公司官網(wǎng)steam交易鏈接怎么改
  • 做網(wǎng)站首頁有什么網(wǎng)絡(luò)推廣網(wǎng)站的方法