




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章游戲引擎概覽浙江大學(xué)軟件學(xué)院梁秀波Email:游戲引擎的提出常用游戲引擎簡介Cocos2d-x引擎介紹Cocos2d-x開發(fā)環(huán)境配置本章目錄電子游戲初期的矛盾:每款游戲從底層開始編碼,工作量巨大開發(fā)商希望盡可能多地開發(fā)游戲,獲取利潤解決方法:復(fù)用其他游戲的局部代碼,節(jié)省開發(fā)時(shí)間費(fèi)用游戲引擎興起:20世紀(jì)90年代中期,代表作:IdSoftware公司的Doom引擎游戲引擎的提出游戲引擎的常見功能物理模擬光影效果圖形渲染動(dòng)畫生成交互控制光影效果游戲場景中光源對于其中物體的影響方式光的折射、反射動(dòng)態(tài)光源、彩色光源動(dòng)畫生成骨骼動(dòng)畫系統(tǒng)模型動(dòng)畫系統(tǒng)游戲引擎常見功能物理模擬使物體的運(yùn)動(dòng)遵循固定的物理規(guī)律重力模擬碰撞檢測圖形渲染將游戲世界的所有效果實(shí)時(shí)顯示人物模型角色動(dòng)畫光影特效游戲引擎常見功能交互控制負(fù)責(zé)處理玩家與計(jì)算機(jī)之間的交互鍵盤事件鼠標(biāo)事件客戶端與效勞端通信游戲引擎常見功能按照開發(fā)游戲的維度2D引擎3D引擎2.5D引擎?劃分標(biāo)準(zhǔn)不明確按照引擎使用是否收費(fèi)開源〔免費(fèi)〕引擎商業(yè)〔收費(fèi)〕引擎常用游戲引擎簡介常用游戲引擎簡介AndEngineOGRECocos2d-xCryEngineRAGEUnrealEngineUnity3DAndEngine2D開源引擎Java語言開發(fā)封裝物理引擎BOX2D便于擴(kuò)展缺點(diǎn)僅適用Android平臺缺乏官方文檔常用游戲引擎AndEngine作品《FlappyBird》常用游戲引擎Cocos2d-x2D開源引擎基于OpenGLES高效易擴(kuò)展腳本支持核心:跨平臺常用游戲引擎Cocos2d-x作品《捕魚達(dá)人》常用游戲引擎ORGE〔Object-OrientedGraphicsRenderingEngine〕開源3D引擎渲染效果好高度可擴(kuò)展缺點(diǎn):只是圖形渲染引擎,非完整的游戲引擎開發(fā)速度方面較慢常用游戲引擎ORGE作品《火炬之光》常用游戲引擎RAGE〔RockstarAdvancedGameEngine〕大型3D商業(yè)引擎AI設(shè)計(jì)方面領(lǐng)先網(wǎng)絡(luò)編程速度快天氣特效出色缺點(diǎn):用戶圖形界面質(zhì)量不高鍵盤和鼠標(biāo)控制需要優(yōu)化常用游戲引擎RAGE作品《GTA4》常用游戲引擎CryENGINE3D商業(yè)引擎適用于大型游戲場景具備強(qiáng)大的美術(shù)編輯工具畫面堪稱業(yè)界頂級缺點(diǎn)不支持第三方插件學(xué)習(xí)門檻較高常用游戲引擎CryENGINE作品《孤島危機(jī)》常用游戲引擎UnrealEngine知名度高、功能全面的3D商業(yè)引擎定位高端游戲開發(fā)支持多個(gè)平臺擁有功能完善的編輯器
缺點(diǎn)引擎授權(quán)條件較高常用游戲引擎UnrealEngine作品《戰(zhàn)爭機(jī)器》
常用游戲引擎Unity3D3D商業(yè)引擎,后起之秀獨(dú)一無二的跨平臺特性學(xué)習(xí)門檻低授權(quán)條件平民化眾多的用戶量缺點(diǎn)制作復(fù)雜和多樣化的效果比較費(fèi)時(shí)常用游戲引擎Unity3D作品《御天降魔傳》常用游戲引擎開源引擎,節(jié)省費(fèi)用2D引擎,易學(xué)易懂通過源代碼學(xué)習(xí)引擎原理跨平臺特性為什么選擇Cocos2d-x?Cocos2d-x的根本類框架Cocos2d-x的核心概念場景類(Scene)導(dǎo)演類(Director)層類(Layer)節(jié)點(diǎn)類(Node)精靈類(Sprite)節(jié)點(diǎn)類〔Node〕包含場景節(jié)點(diǎn)的根本功能與渲染相關(guān)類均繼承自Node類場景類〔Scene〕層類〔Layer〕精靈類〔Sprite〕Cocos2d-x的核心概念導(dǎo)演類〔Director〕游戲的“總指揮”采取單例模式,getInstance()獲取實(shí)例引擎的控制核心OpenGLES初始化場景的轉(zhuǎn)換游戲暫停/繼續(xù)世界坐標(biāo)和GL坐標(biāo)之間的切換Cocos2d-x的核心概念場景類〔Scene〕構(gòu)成游戲的一個(gè)個(gè)界面構(gòu)成不同的關(guān)卡與板塊提供場景切換效果旋轉(zhuǎn)翻頁淡入淡出Cocos2d-x的核心概念層類〔Layer〕游戲元素的容器處理玩家事件響應(yīng)觸摸事件鼠標(biāo)事件加速度計(jì)事件鍵盤輸入幾種特殊層顏色層〔LayerColor〕菜單層〔Menu〕復(fù)合層〔LayerMultiplex〕Cocos2d-x中的核心概念精靈類〔Sprite〕由紋理、幀和動(dòng)畫組成OpenGLES負(fù)責(zé)渲染具有平移、旋轉(zhuǎn)、縮放等屬性可接受其他的轉(zhuǎn)換Cocos2d-x中的核心概念Cocos2d坐標(biāo)系〔OpenGL坐標(biāo)系〕:原點(diǎn)位于屏幕左下角X軸正方向向右Y軸正方向向上標(biāo)準(zhǔn)屏幕坐標(biāo)系:原點(diǎn)位于屏幕左下角X軸正方向向右Y軸正方向向下Cocos2d-x中的坐標(biāo)系Cocos2d-x中的坐標(biāo)系世界坐標(biāo)系也叫絕對坐標(biāo)系其他坐標(biāo)系所需的參考標(biāo)準(zhǔn)本地坐標(biāo)系也叫局部坐標(biāo)系每個(gè)節(jié)點(diǎn)的獨(dú)立坐標(biāo)系錨點(diǎn)設(shè)置一個(gè)節(jié)點(diǎn)在其父節(jié)點(diǎn)上的位置Cocos2d-x中的坐標(biāo)系接收數(shù)據(jù)〔Touch〕觸摸類Touch存儲用戶操作信息分發(fā)事件〔EventDispatcher〕獲得用戶操作數(shù)據(jù),分發(fā)用戶操作信息監(jiān)聽響應(yīng)〔EventListener〕事件監(jiān)聽器的基類負(fù)責(zé)委托和監(jiān)聽事件響應(yīng)Cocos2d-x中的用戶交互響應(yīng)引用計(jì)數(shù)機(jī)制在對象基類Ref中實(shí)現(xiàn)手動(dòng)引用計(jì)數(shù)New創(chuàng)立對象,引用計(jì)數(shù)加1調(diào)用retain()方法,引用計(jì)數(shù)加1調(diào)用release()方法,引用計(jì)數(shù)減1引用計(jì)數(shù)為0,回收對象內(nèi)存Cocos2d-x的內(nèi)存管理機(jī)制智能管理內(nèi)存使用autorelease聲明對象指針對象參加自動(dòng)釋放池,每一幀結(jié)束時(shí)清理自動(dòng)釋放池清理時(shí)對每個(gè)對象執(zhí)行一次release假設(shè)對象引用計(jì)數(shù)為1,表示從未使用執(zhí)行release后引用計(jì)數(shù)為0,釋放對象Cocos2d-x的內(nèi)存管理機(jī)制支持三種3D模型格式Obj3dsMax或Maya導(dǎo)出的一種格式Obj格式不支持動(dòng)畫C3t通過fbv-conv從FBX格式轉(zhuǎn)換來的Json格式文件格式較大C3b通過fbv-conv從FBX格式轉(zhuǎn)換來的二進(jìn)制格式文件體積小,運(yùn)行速度快Cocos2d-x的新增3D特性Windows開發(fā)環(huán)境配置〔1〕下載所需工具Python2.7.8/Cocos2d-x3.7
MicrosoftVisualStudio2013;
Cocos2d-x的開發(fā)環(huán)境配置Windows開發(fā)環(huán)境配置〔2〕安裝和配置環(huán)境安裝VS2013和Python右擊“我的電腦”—>”屬性”—>“高級系統(tǒng)設(shè)置”—>“用戶變量”—>“新建”
Cocos2d-x的開發(fā)環(huán)境配置Windows開發(fā)環(huán)境配置〔2〕安裝和配置環(huán)境修改PATH變量,在末尾加上:;%PYTHON_HOME%
Cocos2d-x的開發(fā)環(huán)境配置Windows開發(fā)環(huán)境配置〔2〕安裝和配置環(huán)境命令行輸入Python,出現(xiàn)如下內(nèi)容,說明配置成功
Cocos2d-x的開發(fā)環(huán)境配置Windows開發(fā)環(huán)境配置〔3〕創(chuàng)立Cocos2d-x工程進(jìn)入cocos2d-x-3.7\tools\cocos2d-console\bin目錄,按住shift+鼠標(biāo)右鍵,在此處翻開命令窗口輸入命令pythoncocos.pynewHelloWorld–p–lcpp–dmyprojects-p:Android工程下的包名-l:工程所用編程語言-d:保存工程的目錄
Cocos2d-x的開發(fā)環(huán)境配置Windows開發(fā)環(huán)境配置〔3〕創(chuàng)立Cocos2d-x工程進(jìn)入proj.win32目錄,翻開HelloWorld.sln
Cocos2d-x的開發(fā)環(huán)境配置Windows開發(fā)環(huán)境配置〔3〕創(chuàng)立Cocos2d-x工程選擇HelloWorld,將其設(shè)為啟開工程后執(zhí)行
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔1〕下載和安裝AndroidSDK:Android開發(fā)工具,包括模擬器等,下載; AndroidNDK:Android原生態(tài)本地開發(fā)包,作為SDK的補(bǔ)充,輔助SDK進(jìn)行編譯開發(fā),支持C和C++。下載
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔1〕下載和安裝JavaDevelopmentKit,是Java的開發(fā)工具,下載;下載后直接運(yùn)行安裝即可,假設(shè)安裝路徑為C:\ProgramFiles(x86)\Java\jdk1.7.0_21,添加環(huán)境變量,然后在PATH后增加“;%JAVA_HOME%bin”。
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔1〕下載和安裝ANT:是一個(gè)Apache基金會下的跨平臺的構(gòu)件工具,可以實(shí)現(xiàn)工程的自動(dòng)構(gòu)建和部署等功能,這里用來自動(dòng)構(gòu)建Android程序。下載; Eclipse:支持Java和Android開發(fā)的開源集成開發(fā)工具。下載AndroidSDK時(shí)下載的ADT中包含了SDK和Eclipse;Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔1〕下載和安裝Python2.7.8(建議使用該版本,比較穩(wěn)定),下載;安裝時(shí)默認(rèn)選項(xiàng)即可,設(shè)置環(huán)境變量可參考前面windows開發(fā)環(huán)境搭建。Cocos2d-x3.7壓縮包,下載;解壓Cocos2d-x3.7,將下載的AndroidSDK、AndroidNDK、ANT解壓到一個(gè)文件夾下,如D:\AndroidCocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔2〕設(shè)置Android的環(huán)境變量翻開計(jì)算機(jī)->屬性->高級系統(tǒng)設(shè)置->環(huán)境變量,在這里配置Android的環(huán)境變量,所需配置的變量名和變量值分別為:ANDROID_SDK_ROOT:D:\Android\adt-bundle-windows-x86-20140321\sdkNDK_ROOT:D:\Android\android-ndk-r10eANT_ROOT:D:\Android\apache-ant-1.9.6\binCocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔3〕構(gòu)建Cocos2d-x工程新建Cocos2d-x工程可參照Window下工程的創(chuàng)立,創(chuàng)立好HelloWorld之后,再次翻開命令行,輸入cdD:\software\cocos2d-x-3.7\tools\cocos2d-console\bin\myprojects\HelloWorld,按回車鍵,進(jìn)入HelloWorld所在目錄,執(zhí)行命令cocoscompile–pandroid,該命令用來編譯當(dāng)前目錄下的Android工程Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔3〕構(gòu)建Cocos2d-x工程按回車鍵后,可以看到編譯開始,最后如果看到如圖4-17所示的結(jié)果,那么說明編譯成功。Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔4〕在Eclipse下運(yùn)行程序a.找到之前的adt目錄D:\Android\adt-bundle-windows-x86-20140321.該目錄中包含了SDK和Eclipse目錄。進(jìn)入eclipse目錄,雙擊eclipse.exe,運(yùn)行eclipse集成開發(fā)工具。b.確定SDK和NDK的路徑是否正確。選擇Window—>Peferences菜單項(xiàng),翻開選項(xiàng)對話框。選擇Android節(jié)點(diǎn),看SDKLocation是否正確,具體為D:\Android\adt-bundle-windows-x86-20140321\sdk。如果沒有值,就手動(dòng)把SDK的根目錄設(shè)進(jìn)去Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔4〕在Eclipse下運(yùn)行程序接著選擇Android—>NDK節(jié)點(diǎn),在NDKLocation中輸入D:\Android\adt-bundle-windows-x86-20140321\android-ndk-r9d。
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔4〕在Eclipse下運(yùn)行程序c.導(dǎo)入HelloWorld工程。選擇File—>Import菜單項(xiàng),翻開導(dǎo)入對話框,選擇Android—>ExistingAndroidCodesIntoWorkSpace,單擊Next按鈕
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔4〕在Eclipse下運(yùn)行程序單擊按鈕Browse,找到HelloWorld工程下的proj.android目錄。此時(shí)會列出HelloWorld工程,點(diǎn)擊Finish按鈕把工程導(dǎo)進(jìn)來
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔4〕在Eclipse下運(yùn)行程序d.導(dǎo)入HelloWorld工程后,會有紅色的錯(cuò)誤提示
Cocos2d-x的開發(fā)環(huán)境配置Android開發(fā)環(huán)境配置〔4〕在Eclipse下運(yùn)行程序解決方法是,到D:\software\cocos2d-x-3.7\cocos
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出售游艇別墅合同范本
- 原房主合同范例
- 北京租賃居間合同范本
- 課題立項(xiàng)申報(bào)書小學(xué)
- 人像攝影肖像合同范本
- 個(gè)人出租土地合同范本
- 【復(fù)習(xí)大串講】【中職專用】高二語文上學(xué)期期末綜合測試題(五)(職業(yè)模塊)(原卷版)
- 二手辦公用房買賣合同范本
- 養(yǎng)殖基地出售馬匹合同范本
- 勞務(wù)合同中員工提成合同范本
- 2025年天翼云解決方案架構(gòu)師認(rèn)證考試指導(dǎo)題庫-上(單選題)
- 2025年春人教版英語八年級下冊同步課件 Unit 7 Whats the highest mountain in the world課件 Section A 1a-2d
- 行為規(guī)范教育中學(xué)校長在國旗下講話:嚴(yán)格要求自己規(guī)范自己的行為
- 2024年12月廣東廣州市港務(wù)局直屬事業(yè)單位引進(jìn)緊缺專業(yè)人才8人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- DBJ50-T-100-2022 建筑邊坡工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)
- 2025年寧夏工商職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年信陽職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- DB11-T 1004-2023 房屋建筑使用安全檢查評定技術(shù)規(guī)程
- 《藝術(shù)與傳播》課件
- 烹飪安全知識培訓(xùn)課件
- 2024年廣東職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
評論
0/150
提交評論