Cocos Creator與Laya的區(qū)別
? ?接觸過游戲開發(fā)的同學(xué),肯定對(duì)Cocos Creator和Laya都比較熟悉,而剛開始進(jìn)入游戲行業(yè)的人,可能對(duì)Cocos Creator和Laya的區(qū)別不是很清楚。在此我們將兩者的區(qū)別給大家梳理下。
首先Cocos Creator在手游端的市場(chǎng)份額占掉50%以上,屬于手游端游戲引擎名副其實(shí)的NO1。而Laya在微信3D小游戲這塊市場(chǎng)占有率第一??梢哉f兩個(gè)各有千秋。另外,2019年底,Cocos Creator也出了Cocos Creator 3D版,意圖在3D游戲這塊分得一杯羹。下面我就來(lái)看哪Cocos體系和Laya體系的具體區(qū)別有哪些。
一、 坐標(biāo)系
坐標(biāo)系相差太遠(yuǎn)。Laya是完全以屏幕左上角為坐標(biāo)原點(diǎn), x向右, y向下,但Cocos Creator坐標(biāo)系和OpenGL坐標(biāo)系一樣,原點(diǎn)為屏幕左下角, x向右,y向上。因此如果在Laya中實(shí)現(xiàn)的游戲搬到Cocos中來(lái),坐標(biāo)這塊會(huì)令人頭疼。

二、 錨點(diǎn)
錨點(diǎn)位置確定后,所有子節(jié)點(diǎn)就會(huì)以錨點(diǎn)所在位置作為坐標(biāo)系原點(diǎn),注意這個(gè)行為和Cocos2d-x引擎中的默認(rèn)行為不同,是Cocos Creator坐標(biāo)系的特色。

而且IDE默認(rèn)的錨點(diǎn)是0.5, 0.5,所以錨點(diǎn)的位置是精靈的中間位置,而他的子節(jié)點(diǎn)將會(huì)以中間這個(gè)點(diǎn)作為坐標(biāo)原點(diǎn)。如果要將他的某一個(gè)子元素放到左下位置 ,則需要設(shè)置x、y為負(fù)值。
三、 渲染差異
Laya中一切以Sprite為基礎(chǔ) , Sprite也是容器,可以裝載其他組件。
但是Cocos卻不同,他是以Node節(jié)點(diǎn)為基礎(chǔ)。Node節(jié)點(diǎn)的child只能是Node ,不能是Sprite等實(shí)例。而且Sprite負(fù)責(zé)渲染邏輯,Node只是容器,而且Node只能包含一個(gè)Sprite組件。

如上圖所示,Cocos渲染一個(gè)組件的方法真是太婆媽了, 寫了一坨代碼只是為了渲染一張圖片。Laya卻很簡(jiǎn)單。如下圖。

通過上述對(duì)比,大家會(huì)發(fā)現(xiàn)Laya簡(jiǎn)單優(yōu)雅很多。
Graphics繪圖類也不太一樣。感覺還是L aya的接口比較簡(jiǎn)單優(yōu)雅。
同樣是繪制矩形, Cocos要寫很多代碼,如下:


相對(duì)而言,Laya卻比較簡(jiǎn)單,如下:


四、 IDE差異
IDE的好用,肯定是Cocos勝出不少,體驗(yàn)比較好,簡(jiǎn)單的拖拽就能畫了一個(gè)場(chǎng)景,相比Laya的還是要好很多,上手程度也要容易很多。
五、 其他區(qū)別
Laya中主角是Stage舞臺(tái)。只有一個(gè)。
Cocos中主角是Scene??梢远鄠€(gè)。
其實(shí)兩者都差不多, 作為主要的基礎(chǔ)容器,裝載元素。
場(chǎng)景過渡的方法不一樣。Laya中的最后被添加的元素添加到最上層。所以只要控制場(chǎng)景的層級(jí)就好。
Cocos需要接口過渡場(chǎng)景,代碼如下:
cc.director.loadScene("場(chǎng)景名");
想從事了解游戲開發(fā)需要學(xué)哪些以及就業(yè)情況的,歡迎給我們留言。