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

        ?

        基于IOS平臺(tái)的拼圖游戲開(kāi)發(fā)

        2017-02-06 00:09:27胡艷華崔亞楠
        軟件 2016年6期

        胡艷華+崔亞楠

        摘要:基于iOS平臺(tái)的游戲日益受到青睞,本文開(kāi)發(fā)了一款iOS平臺(tái)下的手機(jī)游戲軟件——益智拼圖。該游戲采用跨平臺(tái)引擎-cocos2d-x以及c++語(yǔ)言進(jìn)行開(kāi)發(fā)的,主要實(shí)現(xiàn)了拼圖游戲的切割圖片、滑動(dòng)效果、游戲邏輯、物理效果等基本功能,且支持從手機(jī)照相或圖片庫(kù)獲取圖片進(jìn)行切割,搖一搖更換圖片以及音效設(shè)置等特色功能。最后,通過(guò)對(duì)游戲進(jìn)行安裝、調(diào)試,通過(guò)了性能測(cè)試,成功發(fā)布了游戲。

        關(guān)鍵詞:拼圖游戲;iOS平臺(tái);Cocos2d-x引擎

        引言

        隨著智能操作系統(tǒng)的日趨成熟和人們精神生活的不斷豐富,移動(dòng)設(shè)備游戲日益受到歡迎。由于IOS系統(tǒng)的優(yōu)越性及操作的人性化,基于此平臺(tái)的游戲軟件更是受到追捧。拼圖游戲即是其中一款經(jīng)典的游戲,有著很大的用戶(hù)群。在iOS平臺(tái)下,用戶(hù)可以從App Store下載游戲并安裝后可直接使用,方便快捷。不僅可以用來(lái)消磨時(shí)間,更可以起到益智、鍛煉思維的作用。因此,基于iOS平臺(tái)的拼圖游戲有著巨大的市場(chǎng)潛力。

        優(yōu)秀的游戲軟件設(shè)計(jì),要求能做到一次代碼編寫(xiě),能在多系統(tǒng)運(yùn)行。本文參考了一些基于iOS平臺(tái)的軟件開(kāi)發(fā),最終確定采用跨平臺(tái)引擎-cocos2d-x,開(kāi)發(fā)了一款基于IOS平臺(tái)的手機(jī)游戲軟件—益智拼圖。

        1IoS系統(tǒng)和COCOS2d-x引擎簡(jiǎn)介

        1.1IOS系統(tǒng)簡(jiǎn)介

        iOS是由蘋(píng)果公司開(kāi)發(fā)的手持設(shè)備操作系統(tǒng)。最初是為iPhone設(shè)計(jì),后來(lái)陸續(xù)用到iPod touch、iPad以及Apple TV等蘋(píng)果產(chǎn)品上。iOS與蘋(píng)果的Mac OSx操作系統(tǒng)一樣,它也是以Darwin為基礎(chǔ)的,因此同樣屬于類(lèi)Unix的商業(yè)操作系統(tǒng)。

        iOS的系統(tǒng)結(jié)構(gòu)分為以下四個(gè)層次:核心操作系統(tǒng)(the Core OS layer),核心服務(wù)層(the CoreServices layer),媒體層(the Media layer),Cocoa觸摸框架層(the Cocoa Touch layer)。

        1.2cocos2d-x游戲引擎簡(jiǎn)介

        Cocos2d-x是一個(gè)開(kāi)源的移動(dòng)2D游戲框架,MIT許可證下發(fā)布的。它使用c++開(kāi)發(fā),同時(shí)支持多平臺(tái)的2D手機(jī)游戲引擎,是cocos2d-iPhone項(xiàng)目的版本。cocos2d-x發(fā)展的重點(diǎn)是圍繞cocos2d跨平臺(tái)。cocos2d-x項(xiàng)目可以很容易地建立和運(yùn)行在iOS,Android,三星Bada,黑莓操作系統(tǒng)平臺(tái)上。cocos2d-x還支持Windows和Linux系統(tǒng),因此,我們可以調(diào)試的源代碼很容易寫(xiě)在桌面操作系統(tǒng)上進(jìn)行編輯。

        2游戲策劃

        在開(kāi)發(fā)游戲前,必須有一個(gè)完整的游戲策劃,即對(duì)開(kāi)發(fā)的游戲做一個(gè)簡(jiǎn)單的描述。它包含游戲的開(kāi)發(fā)背景,游戲的功能,游戲的風(fēng)格,以及對(duì)游戲市場(chǎng)的調(diào)查。

        2.1游戲策劃

        通過(guò)對(duì)市場(chǎng)上一些拼圖游戲的試玩后,對(duì)拼圖游戲的功能有一定的了解。拼圖游戲的主要表現(xiàn)形式是將一張完整的圖片,切割成若干的小圖片,然后將小圖片的順序打亂。玩家可以拖動(dòng)小圖片,若尋找的位置正確,小圖片的位置就會(huì)固定不能再拖動(dòng),否則小圖片就會(huì)自動(dòng)掉落到界面底部。用戶(hù)在游戲的過(guò)程中可以自己選擇游戲的圖片。在游戲開(kāi)始界面上設(shè)置開(kāi)始游戲的按鈕,游戲的主場(chǎng)景固定,但游戲的圖片可以切換。

        2.2游戲功能策劃

        (1)無(wú)限關(guān)卡:游戲中每完成一張拼圖就會(huì)進(jìn)入到一下關(guān)卡,難度漸漸增加。本游戲設(shè)置的關(guān)卡的公式(1):

        其中n為整數(shù)。如第一關(guān)切割成9張小圖片,第二關(guān)切割成16張小圖片,第三關(guān)切割成25張小圖片,使得游戲設(shè)置的關(guān)卡難度依次加大。

        (2)切割、隨機(jī)掉落圖片:用戶(hù)在進(jìn)人主游戲后,先通過(guò)將圖片切割成多張小圖片;然后這些小圖片根據(jù)物理效果會(huì)隨機(jī)掉落到原圖的下方,用戶(hù)可以滑動(dòng)圖片和選擇圖片進(jìn)行拼圖操作。當(dāng)用戶(hù)拖動(dòng)下方小圖片到游戲區(qū)域,若此圖片位置正確,小圖片固定不能移動(dòng),否則,小圖片就會(huì)自動(dòng)掉落到底部。

        (3)更換圖片:本游戲支持?jǐn)z像頭或圖片庫(kù)更換圖片,用戶(hù)可以通過(guò)打開(kāi)手機(jī)的攝像頭或者圖片庫(kù)來(lái)獲取圖片進(jìn)行切割成小圖片進(jìn)行游戲。且用戶(hù)還可以搖一搖手機(jī)更換圖片,是本設(shè)計(jì)游戲的特色之一。

        另外,游戲帶音效功能,游戲中有背景音樂(lè)、搖一搖和過(guò)關(guān)時(shí)的音效,且游戲中設(shè)計(jì)有計(jì)時(shí)功能。

        3游戲詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

        3.1切割圖片的設(shè)計(jì)與實(shí)現(xiàn)

        該功能通過(guò)使用cocos2d-x中CCSprite類(lèi)庫(kù)中create(const char*pszFileName,const CCRect&rect)函數(shù),它的功能是在一張圖片中從某一坐標(biāo)點(diǎn)(x,y)取一張圖片,(height,width)表示被取圖片的高度和寬度,此圖片的高度和寬度是原大圖的高度和寬度整除切割圖片數(shù)的平方根得到,這樣就實(shí)現(xiàn)了把圖片切割成16張、25張、36張等。切割效果如圖1所示:(因文章篇幅受限,具體代碼實(shí)現(xiàn)不再給出)

        3.2滑動(dòng)效果的設(shè)計(jì)與實(shí)現(xiàn)

        在處理滑動(dòng)事件時(shí),分三個(gè)函數(shù)實(shí)現(xiàn):(1)ccTouchesBegan()函數(shù)功能表示滑動(dòng)開(kāi)始。(2)ccTouchesMoved()函數(shù)功能是開(kāi)始拖動(dòng)圖片,函數(shù)中需設(shè)定哪些圖片可以滑動(dòng)以及設(shè)定圖片滑動(dòng)的范圍。(3)ccTouchesEnded()函數(shù)表示滑動(dòng)結(jié)束,此函數(shù)實(shí)現(xiàn)在滑動(dòng)結(jié)束之后將執(zhí)行哪些操作,如在拼圖游戲中,切割后圖片的滑動(dòng)及將目標(biāo)圖片移動(dòng)到指定的位置。滑動(dòng)效果如圖2所示。

        3.3游戲邏輯的設(shè)計(jì)與實(shí)現(xiàn)

        游戲原圖被分割后,用一個(gè)spriteArray放切割后的圖片信息,并對(duì)圖片設(shè)置Tag,通過(guò)移動(dòng)小圖片與其原來(lái)的位置對(duì)比,如果位置差值在一定范圍內(nèi)并且Tag相等,圖片就會(huì)吸附固定。實(shí)現(xiàn)效果如圖3所示:

        3.4物理效果的設(shè)計(jì)與實(shí)現(xiàn)

        切割后的圖片從屏幕中間模擬物理效果掉落,當(dāng)滑動(dòng)的圖片掉落時(shí)也會(huì)有物理碰撞重力等效果,使用物理引擎Box2d,模擬一個(gè)重力的世界,重力向下,把屏幕的四面設(shè)置成墻壁;定義出剛體后,生成剛體,把小圖片作為皮膚依附在剛體上,而剛體因?yàn)槭艿街亓Φ淖饔脮?huì)自然掉落,皮膚會(huì)跟隨著其依附的剛體而移動(dòng)。實(shí)現(xiàn)效果如圖4所示。

        另外,本游戲中還實(shí)現(xiàn)了搖一搖設(shè)備更換游戲圖片,打開(kāi)手機(jī)攝像頭或者圖片庫(kù)獲取圖片作為游戲圖片,設(shè)置無(wú)限關(guān)卡,游戲計(jì)時(shí)和音效等一些功能。

        4游戲部署與測(cè)試

        4.1游戲部署

        本游戲開(kāi)發(fā)為一個(gè)IOS項(xiàng)目,打開(kāi)項(xiàng)目的文件夾,雙擊“拼圖游戲xcodeproj”文件就能在.xcode里打開(kāi)項(xiàng)目,再點(diǎn)擊運(yùn)行即可。

        4.2游戲測(cè)試

        游戲測(cè)試是游戲開(kāi)發(fā)中很重要的一部分。本文主要依據(jù)軟件工程中的軟件測(cè)試方法,并結(jié)合一般游戲測(cè)試的方法進(jìn)行測(cè)試。本文制定了一個(gè)完整的游戲測(cè)試方案,并建立相應(yīng)的測(cè)試文檔,其文檔有利于修正游戲的bug,同時(shí)有利于改進(jìn)游戲。

        4.3BugList文檔

        在游戲測(cè)試時(shí),對(duì)于找到的bug需要記錄,并建立一個(gè)buglist的文檔保存,這樣可以避免漏掉游戲bug,以及防止重復(fù)測(cè)試相同的bug。bugList文檔如表1所示:

        最后,經(jīng)過(guò)測(cè)試,沒(méi)有bug后,本拼圖游戲成功發(fā)布到App Store。

        5結(jié)束語(yǔ)

        本文設(shè)計(jì)的拼圖游戲有分割圖片,滑動(dòng)圖片,物理效果和搖一搖更換圖片等一些功能。通過(guò)游戲策劃與開(kāi)發(fā)方案的編寫(xiě),對(duì)游戲開(kāi)發(fā)的具體流程有了更深的了解;對(duì)于開(kāi)發(fā)的每個(gè)部分都使用文檔記錄,這樣既規(guī)范了整個(gè)開(kāi)發(fā)過(guò)程,也使游戲的開(kāi)發(fā)有據(jù)可查,并且還可以提高游戲開(kāi)發(fā)的效率,縮短開(kāi)發(fā)周期。另外,游戲中的畫(huà)面美感不足,并沒(méi)有經(jīng)過(guò)專(zhuān)業(yè)的處理,是下一步游戲改進(jìn)的地方。

        亚洲av男人的天堂一区| 色综合久久久久综合999| 国产三级国产精品三级在专区| 2021年国产精品每日更新| 国产三级国产精品国产专区 | 亚洲一区二区三区精品网| 午夜视频在线观看国产| 免费观看a级毛片| 欧美gv在线观看| 最新国产成人综合在线观看| 久久一区二区视频在线观看| 国产成人精品久久亚洲高清不卡| 俺来也俺去啦最新在线| 中文字幕国产精品中文字幕| 青青草手机在线免费视频| 欲求不満の人妻松下纱荣子| 欧美性猛交xxxx黑人猛交| 中文字幕天堂网| 久久91精品国产91久| 久久精见国产亚洲av高清热| 日本一区二区三区高清在线视频| 欧美性猛交xxxx富婆| 欧美日韩亚洲成色二本道三区| 四虎在线中文字幕一区| 国产日产一区二区三区四区五区| 国产精品无码无片在线观看3d| 一级午夜视频| 久久蜜桃一区二区三区| 天堂8在线新版官网| 亚洲国产人在线播放首页| 久久久久久无码AV成人影院| 亚洲第一黄色免费网站| 内射少妇36p亚洲区| 国产精品一区二区av片| 99视频一区二区日本| 特黄大片又粗又大又暴| 四虎影永久在线观看精品| 黄色国产一区在线观看| 大地资源网在线观看免费官网| 久久乐国产精品亚洲综合| 午夜国产精品视频免费看电影|