导出数据在代码中加载-骨骼动画在cocos中加载
发布时间:2020-12-14 17:06:42 所属栏目:百科 来源:网络整理
导读:使用cocos v2.x发布的CSB资源更换了加载方式,需要用CSLoader来加载。目前的cocos支持的语言有C++、js、lua, 编辑器默认导出的格式为csb、json,下面来分语言介绍如何在引擎加载编辑器导出的数据: C++(仅能加载csb数据): #include "ui/CocosGUI.h"#incl
使用cocos v2.x发布的CSB资源更换了加载方式,需要用CSLoader来加载。目前的cocos支持的语言有C++、js、lua, 编辑器默认导出的格式为csb、json,下面来分语言介绍如何在引擎加载编辑器导出的数据: C++(仅能加载csb数据): #include "ui/CocosGUI.h" #include "Cocos Studio/Cocos Studio.h" using namespace cocos2d; using namespace Cocos Studio::timeline; void myScene::initFunc() { //通过csb创建场景 Node *rootNode = CSLoader::createNode("MainScene.csb"); this->addChild(rootNode); //通过csb创建动画 ActionTimeline *action = CSLoader::createTimeline("MainScene.csb"); rootNode->runAction(action); //同一个文件创建的节点只能使用同一个文件创建的动画。 //从第0帧循环播放动画 action->gotoFrameAndPlay(0,true); } Lua(仅能加载csb数据和lua文件): ??加载csb: --相关代码在srcpackagesmvcViewBase.lua文件 function ViewBase:createResoueceNode(resourceFilename) if self.resourceNode_ then self.resourceNode_:removeSelf() self.resourceNode_ = nil end -- 通过csb创建场景 self.resourceNode_ = cc.CSLoader:createNode(resourceFilename) self:addChild(self.resourceNode_) -- 通过csb创建动画 local action = cc.CSLoader:createTimeline(resourceFilename) self.resourceNode_:runAction(action) --同一个文件创建的节点只能使用同一个文件创建的动画。 --从第0帧循环播放动画 action:gotoFrameAndPlay(0,true) assert(self.resourceNode_,string.format("ViewBase:createResoueceNode() - load resouce node from file "%s" failed",resourceFilename)) self:addChild(self.resourceNode_) end ??加载lua(去商店下载Lua导出插件): --相关代码在srcappviewsMainScene.lua文件 -- 注:这里 MainScene.lua 为发布出来的 Lua 代码文件。您可以在发布目录中找到它。 MainScene.RESOURCE_FILENAME = "MainScene.csb" 修改为 MainScene.RESOURCE_FILENAME = "MainScene.lua" --相关代码在srcpackagesmvcViewBase.lua文件: function ViewBase:createResoueceNode(resourceFilename) if self.resourceNode_ then self.resourceNode_:removeSelf() self.resourceNode_ = nil end -- 通过lua创建场景 local scene=require(resourceFilename) local gameScene=scene.create(nil) -- 通过lua创建动画 gameScene.root:runAction(gameScene.animation) --同一个文件创建的节点只能使用同一个文件创建的动画。 --从第0帧循环播放动画 gameScene.animation:gotoFrameAndPlay(0,true) self.resourceNode_=gameScene.root assert(self.resourceNode_,resourceFilename)) self:addChild(self.resourceNode_) end JS(仅能加载Json数据): //相关代码在srcapp.js文件 var HelloWorldLayer = cc.Layer.extend({ sprite:null,ctor:function () { ////////////////////////////// // 1. super init first this._super(); ///////////////////////////// // 2. add a menu item with "X" image,which is clicked to quit the program // you may modify it. // ask the window size var size = cc.winSize; //通过json创建场景 var mainscene = ccs.load(res.MainScene_json); //获取动画 var action = mainscene.action; if(action){ //绑定动画 mainscene.node.runAction(action); //同一个文件创建的节点只能使用同一个文件创建的动画。 //从第0帧循环播放动画 action.gotoFrameAndPlay(0,true); } this.addChild(mainscene.node); return true; } }); 注意:
本文转自:http://www.cocos.com/doc/article/index?type=Cocos%20Studio&url=/doc/cocos-docs-master//manual/studio/v4/chapter3/HowToCode/LoadExportData/zh.md
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |