• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Cocos2d—x的游戲引擎

      2017-11-09 08:03:16王玉峰
      電子技術(shù)與軟件工程 2017年19期
      關(guān)鍵詞:開源引擎基礎(chǔ)

      摘 要基于Cocos2d-x這一應(yīng)用廣泛的開源游戲引擎來講述游戲引擎的理論、機(jī)制、技術(shù),權(quán)衡了學(xué)生基礎(chǔ)及課程特點(diǎn),考慮了學(xué)生的后續(xù)課程及職業(yè)發(fā)展。在課程講授內(nèi)容的深度、廣度、難點(diǎn)、重點(diǎn)等方面進(jìn)行了探索,取得了一定的成效。

      【關(guān)鍵詞】Cocos2d-x 游戲引擎

      本文探討把Cocos2d-x這一開源游戲引擎作為課程主線的原因、做法及效果。

      1 游戲引擎及其相關(guān)基礎(chǔ)課程

      游戲引擎是開發(fā)游戲的通用底層框架,其對(duì)游戲開發(fā)通用技術(shù)進(jìn)行高層次抽象并封裝,方便開發(fā)者重用,并最終提高開發(fā)效率。游戲引擎通常包括圖像渲染引擎、場(chǎng)景管理、游戲界面、物理引擎、游戲腳本、聲音、網(wǎng)絡(luò)、內(nèi)存管理等組件,涉及到《三維圖形程序設(shè)計(jì)》、《操作系統(tǒng)》、《數(shù)據(jù)結(jié)構(gòu)》、《計(jì)算機(jī)網(wǎng)絡(luò)》、《線性代數(shù)》等課程的相關(guān)基礎(chǔ)知識(shí),綜合性較強(qiáng)。

      傳統(tǒng)的桌面游戲引擎如Unreal Engine、OGRE、CryEngine、Unity等相對(duì)重量、復(fù)雜,學(xué)習(xí)門檻較高,學(xué)習(xí)曲線較長(zhǎng)。伴隨著手機(jī)的普及及HTML5技術(shù)的發(fā)展,涌現(xiàn)出了針對(duì)手機(jī)和瀏覽器的游戲引擎,比如Cocos2d-x、LibGDX、Three.js、Egret Engine等,這些游戲引擎相對(duì)輕量,容易上手,適合初學(xué)者。而且,隨著開源技術(shù)的發(fā)展,開源游戲引擎也逐漸增多,也給深入了解游戲引擎的內(nèi)部實(shí)現(xiàn)提供了諸多機(jī)會(huì)。

      當(dāng)前,國(guó)內(nèi)開發(fā)手機(jī)游戲使用較多的是Cocos2d-x、Unity等,開發(fā)HTML5游戲使用較多的是Egret Engine、Cocos2d-js、Layabox等,總體來講,這些引擎的書籍、文檔資料豐富,中文支持較好。經(jīng)過權(quán)衡,我們選擇Cocos2d-x作為《游戲引擎基礎(chǔ)》課程的講解對(duì)象,意圖由淺入深、由點(diǎn)及面講解游戲引擎的組成及實(shí)現(xiàn)機(jī)制,促使學(xué)生加深對(duì)游戲引擎的理解,具備一定的游戲分析能力,掌握基本的開發(fā)技能。

      2 Cocos2d-x的特點(diǎn)及實(shí)現(xiàn)

      Cocos2d-x是2010年國(guó)內(nèi)的王哲團(tuán)隊(duì)基于Cocos2d-iPhone(Objective-C編寫)派生而來,用C++移植。Cocos2d-x作為一款開源、跨平臺(tái)、輕量、主要面向移動(dòng)平臺(tái)的游戲引擎,其易于使用、高效、便于擴(kuò)展,吸引了眾多游戲愛好者、游戲開發(fā)商、硬件廠商,市場(chǎng)也涌現(xiàn)出不少用Cocos2d-x開發(fā)的流行游戲。

      最近幾年Cocos2d-x一致保持著快速迭代進(jìn)化,其提供了JavaScript、Lua語(yǔ)言綁定,3D功能也不斷得到增強(qiáng)。Cocos2d-x的開發(fā)團(tuán)隊(duì)還提供了Cocos Creator等開發(fā)工具,試圖覆蓋手機(jī)游戲制作的完整流程。如圖1所示。

      Cocos2d-x的框架結(jié)構(gòu)、源碼結(jié)構(gòu)清晰,易于理解和分析。Cocos2d-x的基礎(chǔ)概念有導(dǎo)演、場(chǎng)景、層、精靈、調(diào)度器,圖像渲染功能有動(dòng)作、序列幀動(dòng)畫、骨骼動(dòng)畫、場(chǎng)景轉(zhuǎn)換效果、粒子系統(tǒng)、瓦片地圖等,還集成了聲音、網(wǎng)絡(luò)、物理引擎等擴(kuò)展庫(kù)。

      當(dāng)前,市面上有不少關(guān)于Cocos2d-x的書籍,涵蓋了基本用法、原理分析、案例制作等主題。同時(shí),一些學(xué)校也將其列入選修課程,一些職業(yè)技能培訓(xùn)機(jī)構(gòu)也開設(shè)這方面的培訓(xùn)。有鑒于此,將Cocos2d-x引入到《游戲引擎基礎(chǔ)》課程中值得嘗試。

      3 基于Cocos2d-x的《游戲引擎基礎(chǔ)》課程實(shí)踐

      圍繞Cocos2d-x講解《游戲引擎基礎(chǔ)》,關(guān)鍵在于要將游戲引擎一般理論與Cocos2d-x個(gè)案分析,Cocos2d-x框架機(jī)制與內(nèi)部代碼實(shí)現(xiàn),典型游戲案例分析與獨(dú)立開發(fā)游戲技能提升相結(jié)合。如圖2所示。

      在實(shí)踐中,主要做法有:

      (1)基于Cocos2d-x的附帶案例,講解導(dǎo)演、場(chǎng)景、層、精靈、動(dòng)作等基本概念;

      (2)分析Cocos2d-x源碼,講解精靈、動(dòng)作、動(dòng)畫、調(diào)度器等的內(nèi)部實(shí)現(xiàn),結(jié)合OpenGL ES講解精靈的渲染機(jī)制;

      (3)基于Cocos2d-x集成的Box2d物理引擎,講解2D物理引擎的使用辦法和實(shí)現(xiàn)思路;

      (4)在把握Cocos2d-x的基礎(chǔ)上,結(jié)合Cocos2d-html5、Cocos2d-x的Javascript綁定講解游戲腳本編程;

      (5)在使用Tiled Map Editor瓦片地圖制作工具、Cocos Creator場(chǎng)景制作工具、Particle Universe粒子制作工具的過程中,學(xué)習(xí)瓦片地圖渲染、粒子渲染、場(chǎng)景元素屬性相關(guān)的理論知識(shí);

      (6)結(jié)合捕魚達(dá)人、保衛(wèi)羅卜、太空戰(zhàn)機(jī)等游戲案例,結(jié)合理論分析游戲?qū)崿F(xiàn),并改動(dòng)、擴(kuò)展這些案例;

      (7)課程實(shí)施過程中,引入了選擇、判斷題型的在線測(cè)試,檢驗(yàn)基本知識(shí)點(diǎn)、Cocos2d-x API等的掌握情況,提高識(shí)記、理解效果。結(jié)課作業(yè)要求學(xué)生獨(dú)立完成簡(jiǎn)單游戲的設(shè)計(jì)與開發(fā)。

      總體而言,傳統(tǒng)的游戲引擎課程側(cè)重于講解數(shù)學(xué)運(yùn)算、圖形渲染、場(chǎng)景管理等的封裝及實(shí)現(xiàn),對(duì)學(xué)生的專業(yè)基礎(chǔ)要求較高,學(xué)生接受程度較低。本課程面向游戲開發(fā)等方向的初學(xué)者,嘗試把Cocos2d-x這一有較高市場(chǎng)競(jìng)爭(zhēng)力的開源游戲引擎引入到課程,系統(tǒng)化地全面了解游戲引擎的設(shè)計(jì)、實(shí)現(xiàn)和應(yīng)用,為后續(xù)課程的學(xué)習(xí)和職業(yè)發(fā)展打下良好基礎(chǔ)。

      參考文獻(xiàn)

      [1]于復(fù)興,吳亞峰,索依娜.Cocos2d-x游戲開發(fā)標(biāo)準(zhǔn)教程[M].北京:人民郵電出版社,2016:1-2.

      [2]秦春林.我所理解的Cocos2d-x[M].北京:電子工業(yè)出版社,2014:18-19.

      作者簡(jiǎn)介

      王玉峰(1982-),男。碩士學(xué)位。助教。主要研究方向?yàn)橛螒蛞?、全棧開發(fā)。

      作者單位

      華北水利水電大學(xué)軟件學(xué)院 河南省鄭州市 450045

      猜你喜歡
      開源引擎基礎(chǔ)
      “不等式”基礎(chǔ)鞏固
      “整式”基礎(chǔ)鞏固
      五毛錢能買多少頭牛
      “防”“治”并舉 筑牢基礎(chǔ)
      藍(lán)谷: “涉藍(lán)”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      大家說:開源、人工智能及創(chuàng)新
      開源中國(guó)開源世界高峰論壇圓桌會(huì)議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      開源計(jì)算機(jī)輔助翻譯工具研究
      無(wú)形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開發(fā)
      克拉玛依市| 鹤山市| 临沭县| 宣城市| 屏边| 岳阳市| 安岳县| 玛多县| 台前县| 洱源县| 肃宁县| 蒙城县| 吴桥县| 慈利县| 宁城县| 刚察县| 碌曲县| 鸡泽县| 盐池县| 正定县| 芒康县| 尼木县| 天祝| 西乡县| 江孜县| 巩义市| 赤城县| 凤冈县| 阜宁县| 桑植县| 桐乡市| 衡山县| 英德市| 邮箱| 东乌珠穆沁旗| 杨浦区| 丽水市| 景洪市| 桦甸市| 包头市| 耒阳市|