亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Unity的Web游戲設(shè)計(jì)與實(shí)現(xiàn)

        2014-04-29 00:00:00俞亮俞文心

        摘 要:Unity是一個(gè)用于創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的綜合型創(chuàng)作工具。Unity是一個(gè)游戲開發(fā)生態(tài)系統(tǒng):強(qiáng)大的渲染引擎,完全集成一整套直觀工具和快速工作流程,可以創(chuàng)建互動(dòng)式3D、2D內(nèi)容;文章以一款翻轉(zhuǎn)匹配記憶游戲?yàn)槔?,從游戲的策劃?gòu)思設(shè)計(jì)和程序具體實(shí)現(xiàn)等進(jìn)行介紹。游戲開發(fā)人員可以基于此文章,利用Unity開發(fā)多平臺(tái)的游戲。

        關(guān)鍵詞:Unity;C#;用戶圖形界面;翻轉(zhuǎn)匹配記憶游戲

        中圖分類號(hào):TP311.52

        對(duì)于獨(dú)立開發(fā)者和工作室,Unity做為大眾化開發(fā)系統(tǒng),掃除了創(chuàng)造獨(dú)特游戲的時(shí)間和成本上的障礙。使用Unity可以在創(chuàng)建在任意平臺(tái)上(Web Player,PC,MAC,Linux,iOS,Android等)吸引和愉悅玩家的游戲。Unity的游戲腳本為基于Mono的Mono腳本,一個(gè)基于.NET Framework的開源語言,因此程序員可用C#,JavaScript等加以編寫。C#是微軟推出的一種面向?qū)ο蟮母呒?jí)編程語言,具有適合快速上手開發(fā)的優(yōu)勢(shì)。在介紹游戲?qū)崿F(xiàn)也用C#代碼進(jìn)行補(bǔ)充說明。翻轉(zhuǎn)匹配記憶類型游戲是一種考驗(yàn)記憶力的游戲,這種游戲不僅適合小孩,也可以鍛煉成人的記憶力。本人以機(jī)器人修復(fù)游戲?yàn)槔榻B如果在Unity引擎和C#語言的幫助下,開發(fā)用Web Player發(fā)布的網(wǎng)絡(luò)游戲。

        1 游戲設(shè)計(jì)

        1.1 玩法介紹

        玩家在背面向上(未知內(nèi)容)的網(wǎng)格卡片里,通過翻開查看的方式尋找匹配的兩張卡片,并且必須同時(shí)找出來。即玩家第一次翻轉(zhuǎn)A卡片,第二次必須翻轉(zhuǎn)與A卡片匹配的B卡片,如果翻轉(zhuǎn)的是C卡片(不與A卡片匹配),則兩張卡片再次翻轉(zhuǎn)回去,呈現(xiàn)背面向上(未知內(nèi)容)的形式。用機(jī)器人修復(fù)游戲說明,玩家修復(fù)機(jī)器人的意思是:玩家第一次翻開的是一種類型機(jī)器人的部分身體,下一次必須翻開的是這種類型機(jī)器人與之配對(duì)的另一部分身體,以此用來修復(fù)機(jī)器人。當(dāng)翻轉(zhuǎn)的卡片為配對(duì)卡片時(shí),兩張卡片從游戲區(qū)域移除,當(dāng)玩家移除掉所有卡片后,游戲勝利。玩家通過不停的翻轉(zhuǎn)卡片,在腦海里記憶卡片位置,從而快速找出配對(duì)卡片。

        1.2 界面設(shè)計(jì)

        1.2.1 游戲標(biāo)題

        在標(biāo)題里需要有游戲名字,游戲基本背景說明,開始按鈕。在這個(gè)標(biāo)題里需要用圖片的藝術(shù)形式來展現(xiàn)整體游戲風(fēng)格,以此來吸引玩家。

        1.2.2 游戲區(qū)界面

        游戲區(qū)主要需要確定卡片的數(shù)量,考慮到以后的擴(kuò)展設(shè)計(jì)(卡片數(shù)量能方便的調(diào)整),所以需要用動(dòng)態(tài)加載卡片的方式進(jìn)行加載。除此之外,因?yàn)橛螒驑?biāo)題和游戲區(qū)界面是兩個(gè)不同的場(chǎng)景顯示,需要有雙向的通道,在標(biāo)題里有“開始按鈕”做為通向游戲區(qū)的通道,在游戲區(qū)里需要有返回標(biāo)題的按鈕作為通道。

        1.3 游戲關(guān)鍵判斷邏輯

        游戲的關(guān)鍵是消去配對(duì)的卡片。必須設(shè)定不讓玩家翻轉(zhuǎn)超過兩張卡片,當(dāng)玩家翻轉(zhuǎn)第二張卡片后,進(jìn)入判斷流程:如果卡片相匹配,則消去兩張卡片,如果不匹配,則翻轉(zhuǎn)回未知狀態(tài)。之后,繼續(xù)翻轉(zhuǎn)流程。

        1.4 游戲性的探索

        1.4.1 游戲聲音運(yùn)用

        當(dāng)卡片翻轉(zhuǎn)成功后,需要有提示音反饋給玩家,以此來提示配對(duì)成功,增加游戲的體驗(yàn)。同時(shí)游戲進(jìn)行時(shí),增加了背景音樂來增強(qiáng)游戲性。

        1.4.2 游戲時(shí)間限制

        為了增加游戲緊張氣氛和給予玩家一定的刺激度,可以增加限定時(shí)間的設(shè)置,規(guī)定玩家必須在限定時(shí)間里完成全部配對(duì),當(dāng)增加時(shí)間限定后,可以充分起到鍛煉記憶力的目的。游戲里增加一個(gè)逐漸減少的時(shí)間條用以標(biāo)識(shí)時(shí)間的流逝。

        1.4.3 難度設(shè)置

        為了讓游戲適合不同能力的玩家,引入難度機(jī)制。難度機(jī)制可以讓初級(jí)玩家和高級(jí)玩家體驗(yàn)到游戲的樂趣。

        2 游戲主要功能實(shí)現(xiàn)及運(yùn)行效果

        2.1 卡片類實(shí)現(xiàn)

        為了實(shí)現(xiàn)游戲邏輯,定義了Card類。isFaceUp表明卡片是否為翻開狀態(tài),游戲邏輯檢測(cè)到這個(gè)狀態(tài)時(shí),會(huì)把卡片顯示為翻開的狀態(tài)。isMatched表明卡片是否已經(jīng)匹配成功,游戲邏輯檢測(cè)到此狀態(tài)時(shí),在卡片位置顯示一塊白色區(qū)域,并且不能再被點(diǎn)擊,表明卡片已被移走。img變量記錄Assets里的資源文件的名字,用來指明顯示圖片。

        設(shè)置相同的id變量在兩張匹配的卡片里,為了匹配邏輯使用。

        class Card:System.Object

        {public bool isFaceUp=1;//檢查是否為翻開狀態(tài)

        public bool isMatched=1;//檢查是否匹配成功

        public string img;//定義卡片顯示的圖片

        public int id;//唯一標(biāo)示卡片,為匹配卡片時(shí)使用}

        2.2 隨機(jī)性放置卡片

        游戲一般在每次運(yùn)行時(shí),卡片區(qū)的卡片會(huì)有不同的順序顯示,需要實(shí)現(xiàn)隨機(jī)功能來實(shí)現(xiàn)。在BuildDeck()函數(shù)里把需要顯示的卡片數(shù)加載到Deck(卡片組)里,之后用Random.Range實(shí)現(xiàn)按照隨機(jī)的順序從Deck選出卡片。

        BuildDeck();

        for(int i=0;i

        for(int j=0;j

        int someNum= Random.Range(0,aCards.Count);

        aGrid[i,j]=aCards[someNum];aCards.RemoveAt(someNum);}}

        2.3 用戶圖形界面

        用Unity自帶GUI(用戶圖形界面)動(dòng)態(tài)生成多個(gè)按鈕形成卡片,行數(shù)(rows)和列數(shù)(cols)需要提前設(shè)定。代碼位于OnGUI函數(shù)(程序每運(yùn)行一幀會(huì)執(zhí)行)中:

        for(int i=0;i

        for(int j=0;j

        Texture t= Resources.Load(strShow) as Texture;

        if(GUILayout.Button(t,GUILayout.Width(cardW)))

        {//按鈕按下后處理邏輯}}}

        2.4 游戲關(guān)鍵判斷邏輯

        游戲關(guān)鍵邏輯是限制每次只能點(diǎn)擊2張不同的卡片,之后需要進(jìn)行判斷,用一個(gè)容器來獲得這2張卡片,當(dāng)下次再需要加入時(shí),進(jìn)行判斷,拒絕加入。

        //判斷如果是選擇的同一張圖.不加入aCardsFlipped.

        If (aCardsFlipped.IndexOf(each)<0){

        aCardsFlipped.Add(each);}

        if (aCardsFlipped.Count==2){

        //如果有2個(gè)對(duì)象加入.不能再按鍵.

        playerCanClick=1;}

        2.5 選擇Web Play發(fā)布

        當(dāng)游戲調(diào)試通過后,在File菜單里選擇Build Setting進(jìn)行設(shè)定,選擇Web Player發(fā)布,當(dāng)Unity圖標(biāo)在Web Player右側(cè)時(shí)代表選中。游戲運(yùn)行效果截圖如下:

        圖1 Web Player發(fā)布

        圖2 游戲運(yùn)行畫面

        3 結(jié)束語

        該機(jī)器人修復(fù)游戲可以在任何安裝Unity web player插件的網(wǎng)絡(luò)瀏覽器里運(yùn)行,因此具有跨平臺(tái)的先天優(yōu)勢(shì)。除能實(shí)現(xiàn)基本的翻轉(zhuǎn)游戲功能以外,還能實(shí)現(xiàn)限時(shí),難度設(shè)置,聲音提示等擴(kuò)展功能。經(jīng)過實(shí)驗(yàn)測(cè)試,界面美觀,結(jié)果正確,各項(xiàng)功能達(dá)到游戲要求。該實(shí)現(xiàn)方法可以對(duì)其他基于Unity開發(fā)的Web游戲起到拋磚引玉的作用。作者已經(jīng)發(fā)布游戲如下:讀者可以進(jìn)行參考。

        http://www.kongregate.com/games/Moomlight/training-game

        參考文獻(xiàn):

        [1][美]ANDRE LAMOTHE.Windows游戲編程大師技巧[M].北京:中國(guó)電力出版社,2001.

        [2][美]Ryan Henson Creighton.Unity 3D Game Development by Example Beginner's Guide[M].Packt Publishing Limited,2011.

        [3][美]Will Goldstome.Unity 3.x游戲開發(fā)經(jīng)典教程[M].北京:科學(xué)出版社,2013.

        [4]優(yōu)美締軟件(上海)有限公司.Unity4.X從入門到精通[M].北京:中國(guó)鐵道出版社,2013.

        作者簡(jiǎn)介:俞亮(1984-),男,四川綿陽人,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),助教,碩士研究生,研究方向:數(shù)字娛樂技術(shù)、計(jì)算機(jī)動(dòng)畫、人工智能;俞文心,男,四川綿陽人,博士后研究員,博士研究生,研究方向:3D圖像合成、立體視差估算、兼容快速編碼、H.264編解碼。

        作者單位:西南科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,四川綿陽 621010;早稻田大學(xué) 情報(bào)生產(chǎn)系統(tǒng)研究院,日本福岡 807-0815

        岛国av无码免费无禁网站| 国产毛片一区二区日韩| 国产在线拍91揄自揄视精品91| 在线观看高清视频一区二区三区| 日韩av一区二区观看| 真实的国产乱xxxx在线| 婷婷中文字幕综合在线| 在线人妻无码一区二区| 亚洲中文字幕乱码一二三区| 大香蕉视频在线青青草| 91久久精品色伊人6882| 国产人妻熟女高跟丝袜图片| 少妇人妻偷人精品视蜜桃| 99久久综合狠狠综合久久一区| 偷柏自拍亚洲综合在线| 亚洲av毛片在线免费看| 久久午夜羞羞影院免费观看 | 又爽又黄又无遮挡网站动态图| 国产又色又爽又刺激视频| 美女扒开内裤露黑毛无遮挡| 国产成人亚洲精品91专区高清| 日韩人妻熟女中文字幕a美景之屋| 黑人巨大精品欧美一区二区 | 亚洲av综合av一区| 色先锋av影音先锋在线| 日产精品久久久久久久蜜臀| 精品国产爱在线观看| 99蜜桃在线观看免费视频| 97久久婷婷五月综合色d啪蜜芽| 亚洲精品美女久久久久99| 欧美xxxx新一区二区三区| 亚洲精品在线观看自拍| 妃光莉中文字幕一区二区| 性色av闺蜜一区二区三区| 欧美亚洲国产人妖系列视| 亚洲av一区二区网址| 极品粉嫩小仙女高潮喷水网站| 性无码免费一区二区三区在线| 亚洲熟妇色xxxxx欧美老妇| 亚洲精品国产精品系列| 免费av网站大全亚洲一区|