国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Untiy3D的《烏龜速遞》游戲程序開發(fā)

2015-05-30 10:48:04姚子杰
藝術(shù)科技 2015年8期
關(guān)鍵詞:程序開發(fā)手機(jī)游戲

姚子杰

摘 要:本文主要講解手機(jī)游戲的設(shè)計與實現(xiàn),對游戲引擎交互技術(shù)應(yīng)用進(jìn)行專題研究,以界面交互腳本實現(xiàn)、角色控制腳本實現(xiàn)、賽道隨機(jī)腳本實現(xiàn)等四個部分,詳細(xì)介紹了運(yùn)用Unity3D引擎實現(xiàn)游戲開發(fā)的研究過程。

關(guān)鍵詞:游戲開發(fā);手機(jī)游戲;程序開發(fā)

1 Unity3D游戲引擎

Unity3D是由Unity Technologies公司開發(fā)的一款專業(yè)游戲引擎。軟件成本較低,非常適合小團(tuán)隊及初創(chuàng)公司使用。Unity3D引擎可以運(yùn)行在Windows和Mac OS X系統(tǒng)下,可輕松發(fā)布游戲及項目至Windows、Mac、Wii、iPhone和Android平臺。

2 《烏龜速遞》游戲界面實現(xiàn)的要點分析

用戶須通過人機(jī)交互動作來參與游戲。要完成人機(jī)交互,在人和計算機(jī)之間必須有一個有效的接口,這個接口既要向人反饋信息也要向游戲設(shè)備傳遞指令,這就是游戲的圖形用戶界面。

2.1 基于Unity3D實現(xiàn)游戲界面的交互功能

本節(jié)將以《烏龜速遞》游戲主界面為例,全面介紹在Unity3D引擎平臺中,如何實現(xiàn)界面交互功能的。

將主界面中的各個元素單獨存儲成PNG格式圖像,如按鈕“新的游戲”,就需要將文字層、按鈕層分開保存,而按鈕層又分成了兩個:一個是默認(rèn)顯示狀態(tài);另一個是點擊選中狀態(tài)。這樣分層的存儲更方便程序直接調(diào)用,并且是帶有透明層的文件,不會擋住下一層內(nèi)容顯。

(1)主界面項目在Unity3D中創(chuàng)建:Unity3D的默認(rèn)控件提供了一個預(yù)先制作的、簡單的藍(lán)色模版作為皮膚,但是,并不一定我們制作的每一款游戲都能使用它。所以在這次的項目中我們使用了GUI Texture來進(jìn)行界面的制作。GUI Texture是顯示在二維的平面圖像。他們特別適用于用戶界面元素、按鈕和裝飾。它們的定位和縮放只通過改變X和Y軸來完成。

(2)創(chuàng)建主界面:打開Untiy3D軟件主界面在菜單中選擇GameObject→Crearte Other→GUI Texture。并將創(chuàng)建出來的GUI Texture改名為bg,讓我們可以在后面更方便找到它。當(dāng)創(chuàng)建完GUI Texture之后,把我們的之前制作完成的背景圖放置在GUI Texture組件中的Texture參數(shù)中,并將它的wedth和height兩個參數(shù)修改為1467和587。接著在Transform組件中將Position的Z軸坐標(biāo)改為-3,這樣背景圖就會設(shè)置在最底層,便于界面上的按鈕、文字和游戲標(biāo)志可以放置在背景圖的上方。按同樣的方法將其他的按鈕和游戲標(biāo)志放置在界面上,分別將“新的游戲”、“排行榜”、“設(shè)置選項”和“退出游戲”等按鈕命名為“button_Start”、“button_top10”、“button_option”和“button_quit”,方便后期的識別。在Project面板上創(chuàng)建按鈕及背景等相對應(yīng)的prefabs,并將每一個GUI Texture分別拖拽到相對應(yīng)的prefabs中,然后保存即可。

2.2 按鈕實現(xiàn)交互功能

“新的游戲”按鈕在已建立的界面的功能按鈕上增加該功能。在界面完成的基礎(chǔ)上實現(xiàn)該按鈕的功能。

首先需要判斷手指是否觸碰該按鈕,然后這時候就需要用到腳本語言的Update()函數(shù),因為Update()函數(shù)是在腳本執(zhí)行的過程中反復(fù)調(diào)用,我們可以通過它來檢測手指是否觸碰該按鈕。當(dāng)手指觸碰到按鈕的時候就會執(zhí)行changeScene()函數(shù),切換到下一個界面。腳本編寫完成之后,將腳本拖拽到Hierarchy面板上的“button_Start”按鈕上。

當(dāng)“新的游戲”按鈕完成觸碰檢測功能之后,開始編寫替換圖片功能的代碼。首先創(chuàng)建一個Texture2D的公共變量,名稱為beginGame_p,把圖片拖拽到參數(shù)中。然后當(dāng)按鈕被點擊之后,我們需要把貼圖替換為beginGame_p,需要在changeScene()函數(shù)里面添加guiTexture.texture = beginGame_p;這一串代碼,整個按鈕效果實現(xiàn),其他幾個按鈕做法相同。

3 隨機(jī)賽道腳本實現(xiàn)的要點分析

3.1 分段賽道設(shè)置

在游戲策劃的時候,就設(shè)定了每一個關(guān)卡由多個賽道組構(gòu)成,隨機(jī)賽道的好處,一是讓玩家每一次進(jìn)入游戲都有新鮮感,不會產(chǎn)生賽道的重復(fù)性。二是增加游戲難度,讓玩家不容易記住賽道的行駛路徑,不會輕松地通過,增加賽道的可玩性。

3.2 隨機(jī)賽道程序?qū)崿F(xiàn)

第一,我們需要設(shè)置賽道的四個坐標(biāo)點的位置。雖然賽道的模型文件是隨機(jī)的,但是我們在程序中約束了每一個段賽道的長度,那么在更換模型的時候,賽道的坐標(biāo)點是不會改變的。

第二,通過獲取游戲進(jìn)度得到玩家當(dāng)前游戲的難度,并保存在stageNum變量中。代碼如下:

第三,根據(jù)Random()隨機(jī)函數(shù)所取值得到賽道數(shù)組,代碼如下:

第四,不論賽道如何隨機(jī),整條賽道的開頭和結(jié)尾是保持不變的,所以我們把這個隨機(jī)的C#腳本保存在“kaiTou”賽道中,功能得以實現(xiàn)。

4 小結(jié)

本文對基于Untiy3D的《烏龜速遞》游戲程序要點分析。探討了程序?qū)崿F(xiàn)的方法,并研究了能夠?qū)崿F(xiàn)的主要效果。游戲的模塊復(fù)雜多樣,需要不同的技術(shù)人員分工可以完成。具體在本章中對游戲的主界面布局、按鈕點擊反饋及按鈕替換圖形做了一個要點分析。針對由本游戲一個亮點的隨機(jī)賽道也進(jìn)行了程序分析。

猜你喜歡
程序開發(fā)手機(jī)游戲
淺析大學(xué)生在兼職小程序開發(fā)中遇到的問題
APP應(yīng)用程序開發(fā)模式探究
電子制作(2019年19期)2019-11-23 08:42:02
陜西省大學(xué)生手機(jī)游戲迷戀度實證分析
基于TestStand的自動檢測程序開發(fā)
電子測試(2018年11期)2018-06-26 05:56:16
讓手機(jī)游戲成為傳統(tǒng)文化的傳播新渠道
傳媒評論(2018年3期)2018-06-21 08:16:28
手機(jī)游戲?qū)Υ髮W(xué)生的負(fù)面影響及對策分析
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
基于App inventor 2手機(jī)程序開發(fā)過程的學(xué)習(xí)與實——以“喵喵定時器”APP開發(fā)為例
電子制作(2017年1期)2017-05-17 03:54:08
基于ANSYS的大體積混凝土溫度應(yīng)力計算程序開發(fā)研究
在干什么
SHOW| 奉新县| 广宁县| 奎屯市| 双流县| 古田县| 宜良县| 太仆寺旗| 鲁甸县| 原平市| 桃源县| 昌江| 承德县| 固始县| 合水县| 普陀区| 上栗县| 株洲市| 邛崃市| 阿荣旗| 庐江县| 汶上县| 巧家县| 枣阳市| 泗阳县| 靖州| 简阳市| 汝阳县| 建阳市| 澳门| 宾川县| 灵台县| 小金县| 满洲里市| 天等县| 印江| 五寨县| 呼和浩特市| 临邑县| 通许县| 胶南市|