最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

硬核!Cocos開發(fā)面試必備十問,讓你offer拿到手軟

2020-10-19 16:59 作者:博毅創(chuàng)為  | 我要投稿

01 Cocos 游戲引擎的發(fā)展階段有哪些?

Cocos 游戲引擎始于2009年,伴隨手游的興起,一路發(fā)展到現(xiàn)在。

Cocos 引擎發(fā)展到目前分成4個階段。

1.0階段(2009~2011年左右)

2009年,安卓手機(jī),蘋果手機(jī),AppStore興起,開發(fā)移動應(yīng)用和移動游戲成為了開發(fā)者的一個發(fā)展方向,Android 與IOS 完全是不同的兩個操作系統(tǒng)和開發(fā)平臺,開發(fā)方式完全不一樣。如果要開發(fā)Android與iOS游戲,要寫兩套代碼,對于開發(fā)而言非常的麻煩。這個時候跨平臺的游戲開發(fā)框架就變得非常的重要,在Cocos 開發(fā)之前,國外已經(jīng)有了一個cocos2d-iphone 的引擎,用OC來開發(fā)的。主要用于IOS上開發(fā)游戲。中國國內(nèi)的引擎團(tuán)隊,把cocos2d oc開發(fā)的引擎用C++重寫了一遍,并且移植到了android上面,改名字為cocos2d-x,并把引擎開源出來。

2.0階段(2011~2015年)

這個階段cocos2d-x引擎重新開發(fā),并加上了腳本語言,支持Lua, JS,同時也支持C++開發(fā)。Cocos2d-x反展到現(xiàn)在開發(fā)跨平臺2D手機(jī)游戲引擎,同時又用H5 JS 開發(fā)語言開發(fā)了cocos-H5的游戲引擎為后來在H5小游戲上奠定了基礎(chǔ)。同時也開發(fā)了很多引擎工具,如cocos studio等作為引擎編輯器。

3.0階段(2015~2018年)

這個階段3D手游興起,cocos引擎也支持了3D引擎,并且重新調(diào)整了整個架構(gòu),同時H5的技術(shù)也更加的完善,cocos studio開發(fā)工具也支持了3D,但是3D的效果并不好,在這個階段,沒有在手游推廣起來,一個是編輯器,一個是開發(fā)模式,大家都習(xí)慣了Unity那種好用的編輯器和組件化開發(fā)模式。


4.0階段(2016~2020)

這個階段cocos引擎一邊重構(gòu)引擎底層,一邊開發(fā)新的組件化開發(fā)工具cocos creator, 同時支持主流的H5游戲平臺(微信小游戲,QQ小游戲,抖音小游戲等)。之前3D的短板也在開始補(bǔ)齊。

目前cocos引擎+cocos creator開發(fā)工具能開發(fā)手游,微信,抖音華為等H5小游戲。成為非常好的游戲開發(fā)工具。

02 Cocos Creator 項(xiàng)目目錄結(jié)構(gòu)都有哪些,分別是做什么?

Cocos Creator創(chuàng)建了一個項(xiàng)目以后,項(xiàng)目的目錄有如下功能:

**assets: **存放游戲的資源,場景,代碼

library, local, temp: 臨時生成的文件夾,可刪除,刪除后Cocos 會自動生成。

**Settings: **項(xiàng)目的設(shè)置,把設(shè)置保存到本地Setting文件夾下,如果刪除,會自動生成,恢復(fù)默認(rèn)設(shè)置

**Packages: **存放項(xiàng)目的項(xiàng)目插件所在的文件夾。

**build-templates: **如果沒有,可以自己創(chuàng)建,打包的時候會把這個文件夾下面的內(nèi)容拷貝到發(fā)布包中去,項(xiàng)目要打入包的一些文件,可以放這個目錄下,比如子域。

**creator.d.ts: **Cocos Api的說明文檔。

**project.json: **項(xiàng)目配置文件

jsconfig.json:?js相關(guān)配置

03 為什么Drawcall越少,性能越好呢?

顯卡繪制三角形數(shù)目是有上限的。如果繪制100個物體,drawcall次數(shù)越少,那么每次GPU繪制的三角形數(shù)目就越多,這樣可以充分的發(fā)揮GPU的性能。同時drawcall的次數(shù)少,CPU給GPU傳數(shù)據(jù)的次數(shù)就少,更多的數(shù)據(jù)一起傳,CPU的性能也能提高。

04 Cocos Creator使用九宮格技術(shù)有哪些優(yōu)點(diǎn)?

九宮格是指定幾個拉升區(qū)域,中間的拉升,幾個角上的不會被拉升,這樣角上就能維持原來設(shè)計,九宮格經(jīng)常用到哪些大小會改變,并且中間可拉升的UI上。比如聊天氣泡,中間拉伸,4個角不拉升,不變,這樣4個角能保持大小,中間也放大了。

這樣帶來的優(yōu)點(diǎn)是,九宮格可以任意大小拉升,并且4個角的形狀不變。同時也可以節(jié)約運(yùn)行的內(nèi)存。比如100x100的內(nèi)容大小,如果用10x10的九宮格拉伸,這樣能節(jié)約內(nèi)存。


05 Cocos Creator 圖集對性能有什么好處?

圖集就是把各個小圖打到一起,打到一個大圖里面,這樣做有什么好處呢?

圖集的第一個好處是所有的散圖打到一個大圖里面,傳遞到顯存的時候,可以一次拷貝,不用拷貝多次。

同一個圖集的不同的精靈圖片繪制的時候,有機(jī)會合并到一個Drawcall里面繪制。所以圖集性能更好,同時能有機(jī)會合并更少的DrawCall。

06 幀動畫與骨骼動畫的優(yōu)點(diǎn)與缺點(diǎn)比較

幀動畫是是把一個動作分成了幾個圖,把這些圖連起來形成的動畫就是幀動畫。很多角色的移動和行走,攻擊等很多都是幀動畫做的。

骨骼動畫是把一個角色分成了幾個部分,叫做骨骼,比如人(頭,手,身體,角), 然后使用專業(yè)的工具來調(diào)運(yùn)動參數(shù),比如行走,手?jǐn)[動,腳擺動,通過代碼來控制手?jǐn)[動,腳擺動。

幀動畫優(yōu)點(diǎn):性能好,直接換圖即可,不用計算。缺點(diǎn):內(nèi)存高,動作分解了好多圖片。

骨骼動畫優(yōu)點(diǎn):內(nèi)存資源占用少,只有一個一個的骨骼,動畫代碼控制。缺點(diǎn):動畫需要代碼計算,所以性能比幀動畫要差。


07 Cocos Creator 為什么使用WebSocket?

PC和手游做網(wǎng)絡(luò)游戲的時候,經(jīng)常使用TCP Socket, 可是Cocos Creator 確建議大家使用Websocket,因?yàn)閃ebSocket是H5的標(biāo)準(zhǔn),H5里面無法直接使用TCP Socket,而cocos creator支持H5,所以cocos creator 要求使用WebSocket,服務(wù)器自然也要用WebSocket與客戶端進(jìn)行通訊。

當(dāng)然Cocos Creator也有TCP SOCKET但是 H5的游戲就無法送了,建議使用Cocos Creator開發(fā)用WebSocket。

08 Cocos Creator如何加載遠(yuǎn)程的圖片并顯示出來?

Cocos Creator提供遠(yuǎn)程加載圖片的接口,你只要傳一個遠(yuǎn)程的圖片url地址,就能被Cocos Creator加載得到。Cocos Creator提供了一個cc.loader.load(url,加載進(jìn)度回調(diào),加載成功回調(diào))。

09 Cocos Creator如何制作圓形頭像?

圓形頭像是現(xiàn)在很多游戲里面顯示頭像的方式,在圓內(nèi)的就顯示,圓外的就裁減掉。所以要選取Cocos Creator Mask組件,配置Mask組件為圓形模式,然后把圖像作為Mask節(jié)點(diǎn)的子節(jié)點(diǎn),這樣圓形頭像就制作完成了,如圖:


10 Cocos Creator 打包發(fā)布包需要哪些工具?

Cocos Creator 安裝了開發(fā)工具以后,基本的開發(fā)已經(jīng)沒有問題了,打包發(fā)布到各個平臺的時候需要對應(yīng)的相關(guān)工具,這里把工具按照平臺總結(jié)一下。

iOS平臺:Mac系統(tǒng)的電腦 + xcode

android平臺:JDK 1.8+, android studio安裝(SDK+NDK)

微信小游戲:微信web開發(fā)者工具

QQ小游戲:QQ小程序開發(fā)者工具

抖音小游戲:字節(jié)跳動開發(fā)者工具

其它小游戲平臺也會有對應(yīng)的開發(fā)者工具,只需要對著文檔下載即可。

最后

再把今天的cocos面試真題分享給大家,有需要獲取的讀者朋友,點(diǎn)擊私信發(fā)送面試即可免費(fèi)獲取全部大廠真題面試題型,還不快來行動?


硬核!Cocos開發(fā)面試必備十問,讓你offer拿到手軟的評論 (共 條)

分享到微博請遵守國家法律
邵武市| 新绛县| 疏附县| 玉田县| 丽江市| 陆丰市| 上虞市| 乐东| 铁岭县| 宝应县| 贵定县| 麻江县| 平昌县| 保德县| 措勤县| 绿春县| 霍城县| 扶风县| 澄江县| 神农架林区| 仁怀市| 都江堰市| 志丹县| 吴川市| 苍南县| 都昌县| 巫山县| 岫岩| 安阳市| 彭阳县| 兰考县| 怀仁县| 华坪县| 乌拉特中旗| 大埔区| 弋阳县| 和龙市| 康平县| 肇庆市| 石河子市| 南投县|