cocostudio(CoCoStudios)

http://www.itjxue.com  2023-02-23 08:32  来源:未知  点击次数: 

csb是什么意思?

Csb是文件,可以用cocostudio打开。

演示工具:Magicbook。

操作系统:Windows?10。

软件:cocostudio。

第一步:打开cocostudio,在资源栏中新建文件,选择 最后一个,骨骼动画,起个名字,确定。见下图所示:

第二步:在动画边框里面添加自己想要的资源,绑定骨骼。见下图所示:

第三步:然后切换到动画模式,并在时间轴上添加一些关键帧,调动画。见下图所示:

第四步:重点是怎么调用,上代码:auto?root =?CSLoader::createNode("Skeleton.csb");//填写动画文件的路径,这里是加载资源。见下图所示:

第五步:root-setPosition(300,200);this-addChild(root);auto?run =?CSLoader::createTimeline("Skeleton.csb");//主要是这里还要加载一次动画。同一个文件创建的节点只能使用同一个文件创建的动画。这样就可以编辑csb文件了。见下图所示:

求助cocostudio如何添加Label控件

一、调用cocostudio创建场景中的按钮控件实现步骤:

1、首先使用cocostudio创建两个场景,在其中一个场景中添加一个了使用cocostudio创建的ui按钮控件,实现代码如下:

2、按钮单击相应函数如下:

二、使用工具及知识点:cocostudio、函数知识,控件使用。

三、注意事项:以上代码的使用前提是你要对cocostudio的使用有一定熟悉,一些加载的头文件也得注意还要就是using namespace?XXX的添加。

想从页游转行做手游,CocoStudio和DragonBones哪个工具好用?

CocoStudio和DragonBones都是2D的引擎,个人觉得studio比较容易上手。 Cocostudio是一套基于Cocos2D-X引擎的工具集,包括UI编辑器、动画编辑器、场景编辑器和数据编辑器四个工具。

而DragonBones是一个2D的骨骼动画系统,在处理骨骼动画方面是特长。不过新版本的Cocostudio也推出了骨骼系统,所以总体上来说,cocostudio使用起来会好些。具体你可以下载使用对比下。不过配合cocos2d-x来使用,才能发挥最大效果。因为它是基于前者上延伸出来的。

cocostudio 怎么把.plist和png大图 导出碎图

您好,我来为您解答:

在cocostudio编辑器中,目前支持的plist文件有两种,一种以TexturePacker为代表导出的图像集合,另一种粒子(Particle)文件。我们的cocostudio也支持将碎图生成为plist图片。plist图像文件都是两个文件(.plist/.png)同时存在的,并且文件名称相同,.plist负责图像文件信息存储,.png则存储整合后的图像。plist粒子文件则可能由一个或两个文件组成(.png是非必须存在的,当图片过小时图像将被base64转换成字符串存在.plist文件中)。

另一种图形文件PSD,它是Adobe公司的图形设计软件Photoshop的专用格式。同一个文件中也包含多个图层信息,也是美术使用最重要的格式。

转载,仅供参考。

如果我的回答没能帮助您,请继续追问。

cocos2d-x 3.2 lua 怎么导入cocostudio动画

Cocostudio目前的功能包括UI编辑器、动画编辑器、场景编辑器和数据编辑器。数据编辑器没有涉及到,就不说了。剩下三者中主要讲下导入UI编辑器的资源。

UI编辑器导出的文件包括一个.ExportJson文件,一个.plist文件和一个.png文件。Cocostudio中文官网中说的是TouchGroup,英文官网中是UILayer,可是都已经不存在了。UILayer变成了Layer,现在也可以不创建Layer,直接加到场景上面。所以代码可以这样:

Node *pNode = GUIReader::getInstance()-widgetFromJsonFile("test.ExportJson");

this-addChild(pNode);

下面就可以用getChildByTag来获取组件了。不过getChildByTag貌似只能按照树的结构一层层照下来,显得很麻烦,而且不能按照名字来取。所以,现在可以用ui中的Helper直接从树中获取组件,用name或者tag。但seekWidgetByTag和seekWidgetByName的第一个参数是Widget类型,需要将pNode转成Widget类型。(从.ExportJson文件可以看出来,pNode本来就是一个Widget类型的树)

Button *button = (Button*)(ui::Helper::seekWidgetByName(pNode, "button"));

顺便附上绑定事件监听的代码,使看到的人免去寻找之苦。

button-addTouchEventListener(CC_CALLBACK_2(MainScene::touchEvent, this));

touchEvent是自己写的方法。这个方法大致是如下用法,注意pSender和type的使用。

void SingleMenuScene::selectEvent(Ref *pSender, Widget::TouchEventType type)

{

switch(type)

{

case Widget::TouchEventType::ENDED:

GameSetting::Map map = GameSetting::Map::DEFAULT;

if(pSender == defaultBtn)

{

map = GameSetting::Map::DEFAULT;

}

else if(pSender == snowBtn)

{

map = GameSetting::Map::SNOW;

}

Scene *game = BattleScene::createScene(map);

TransitionScene *transition = TransitionFade::create(0.5, game);

Director::getInstance()-replaceScene(transition);

}

}

导入动画编辑器的动画的代码如下:

CCArmatureDataManager::sharedArmatureDataManager()-addArmatureFileInfo("Animation0.png","Animation0.plist","Animation.ExportJson");

CCArmature *armature = CCArmature::create("Animation");

armature-getAnimation()-playByIndex(0);

armature-setScale(0.5f);

armature-setPosition(ccp(visibleSize.width * 0.5, visibleSize.height * 0.5));

this-addChild(armature);

导入场景编辑器的场景的代码如下:

Node* pNode = SceneReader::getInstance()-createNodeWithSceneFile("scene.ExportJson");

this-addChild(pNode);

这个读出的Node貌似不能转成Widget,因为它不仅包括UI组件还有动画等资源。获取组件和绑定事件监听可以这样写:

ComRender *render = (ComRender*)(pNode-getChildByTag(10010)-getComponent("GUIComponent"));

Widget *widget = (Widget*)(render-getNode());

widget-addTouchEventListener(CC_CALLBACK_2(MainScene::touchEvent, this));

(责任编辑:IT教学网)

更多

相关Painter教程文章

推荐Painter教程文章