C++ 游戲開發引擎,cocos2d-x-3.7.1 發布
cocos2d-x-3.7.1 發布,亮點功能:
Cocos2d-x v3.7.1 是基于 v3.7 開發的一個穩定版本。該版本最重要的功能是為支持 Cocos 2.3.2 Beta 而增加的骨骼動畫支持。
-
studio: 增加了骨骼動畫支持
</li> -
studio: 增加了對天空盒的支持
</li> -
studio: JSON解析器支持Parsed Touch/Click/Event事件回調
</li> -
Node: 新增getNodeToParentTransform(Node*)接口,該接口用于返回到某一特定父類的轉換矩陣
</li> -
web: 新增cc.director.setClearColor()接口用于支持設置透明背景
</li> -
Widget: 同步UI的enable狀態和bright狀態
</li> -
studio: 優化解析代碼性能
</li> -
JSB: 模板代碼增加Firefox的遠程調試功能
</li> </ol>
下載地址
Cocos2d-x v3.7.1 包含: C++, Lua & JS
主要功能詳細情況
骨骼動畫
Cocos2d-x v3.7.1和Cocos 2.3.2增加了新的骨骼動畫系統,不同于之前的Armature骨骼動畫。這么做的主要原因是我們抽象了ActionTimeline來支持所有基于時間軸的動畫但是Armature并不支持這套時間軸體系。為了復用時間軸系統并讓骨骼動畫系統更精簡,數據更輕量,我們實現了這套全新骨骼動畫系統。從這個版本開始,開發者將可以在Cocos 2.3.2中編輯骨骼動畫。
新的骨骼動畫系統包含BoneNode, SkeletonNode, SkinNode三個核心類。SkeletonNode是BoneNode的子類,擴展了容器能力,它可以包含子BoneNode和嵌套其他骨骼來構造一個完整的骨骼結構。
支持的特性:-
骨骼動畫播放
</li> -
嵌套骨骼
</li> -
皮膚切換
</li> -
時間軸控制
</li> -
渲染調試節點
</li> </ol>
幀回調事件新骨骼動畫系統在web引擎中同步支持,我們還會在未來版本中繼續加強其功能
獲取節點到某一個祖先節點的矩陣變換
在v3.7.1新加了一個接口Node::getNodeToParentTransform()。你可以傳入該Node的一個祖先節點,返回的將是該節點到這個祖先節點的矩陣變換,比如:auto parent2 = Node::create(); auto parent1 = Node::create(); auto node = Node::create(); parent2->addChild(parent1); parent1->addChild(node); // This will give you the transform of node in parent2's coordinate system auto transform = node->getNodeToParentTransform(parent2);
這個接口對于web引擎也是可用的。
web引擎支持設置背景顏色
從v3.7.1開始,我們增加了cc.director.setClearColor(),是的web引擎可以方便地控制游戲的背景顏色。傳入的顏色可以是不透明的或者含透明度通道。注意,如果你想要的是不透明的背景顏色的話,這種方法比創建一個不透明的層作為背景更高效。具體可以參考如下代碼:// 方法1:使用不透明的層作為背景 var background = cc.LayerColor(cc.color(255, 0, 0)); background.width = cc.winSize.width; background.height = cc.winSize.height; // This will give you a red background scene.addChild(background, 0);
// 方法2:使用setClearColor,該方法比方法1高效 cc.director.setClearColor(cc.color(255, 0, 0));</pre>
當然了,你也可以創建完全透明的背景顏色。
Widget的enable狀態和birhgt狀態
在之前的設計,setEnabled只控制widget是否響應輸入,而不影響widget的顯示效果。許多開發者對此設計頗有怨言。所以從v3.7.1版本開始,我們修改了這一邏輯,使得setEnabled會影響到widget的顯示效果。這就意味著,當你通過調用setEnabled(false)把一個widget變成不可用時,它會顯示為灰色。// 舊版本,你需要這樣調用 widget->setEnabled(false); widget->setBright(false);
// 在v3.7.1版本,你只需要調用 widget->setEnabled(false);</pre>
Firefox remote debugger support
從v3.7.1版本開始,新建的JSB工程支持Firefox遠程調試。可以通過該文檔了解如何使用Firefox瀏覽器來調試你JSB工程。注意,它只能調試JavaScript代碼。如果要調試C++代碼的話,還是需要通過Xcode或者Visual Studio。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
-