导航:首页 > 动漫图片 > Cocos怎么替换节点图片

Cocos怎么替换节点图片

发布时间:2022-04-20 21:52:14

A. cocos creator可以设置node边框吗

需要两个node ,一个做边框,用精灵节点sprite,一个做你正常的东西

B. cocos studio怎么导入序列帖

使用Studio2.0发布的CSB资源更换了加载方式,需要用CSLoader来加载。CSLoader在Cocos2d-x3.3RC0开始提供。以下提供的是C++的代码,lua、js的接口是一样的。只有一点区别:CSLoader在lua中对应cc.CSLoader在js中对应ccs.csLoader(在2d-js3.1RC0中需要做点修改)#include"ui/CocosGUI.h"//UI相关的头文件#include"cocostudio/CocoStudio.h"//在CocosStudio.h头文件中已经包含了Studio所需要的各个头文件(除CocosGUI)因此我们使用Studio仅需要包含他就可以usingnamespacecocos2d;//CSLoader位于cocos2d命名空间。usingnamespacecocostudio::timeline;//动画相关的类位于cocostuio::timeline当中voidmyScene::initFunc(){//以下是加载相关的代码:Node*rootNode=CSLoader::createNode("MainScene.csb");//传入Studio2.x的资源路径this->addChild(rootNode);//假设this是即将显示的scene//加载动画:ActionTimeline*action=CSLoader::createTimeline("MainScene.csb");rootNode->runAction(action);//注!!!:同一个文件创建的节点只能使用同一个文件创建的动画。//嵌套节点的动画会自动加载动画,可以用嵌套节点->getActionByTag(嵌套节点->getTag())来获取动画//播放动画:action->gotoFrameAndPlay(0,60,true);//从第0帧到60帧循环播放。还有其他重载函数,具体看源码。//帧事件监听action->setFrameEventCallFunc(CC_CALLBACK_1(myScene::onFrameEvent,this));//关于CC_CALLBACK_1需要点C++11的基础才能知道是咋回事,这里只要照着写就行。想了解可以查下std::Bind//帧事件是可以检测到最后一帧的事件的,已测3.6//动画结束侦听action->setLastFrameCallFunc(CC_CALLBACK_0(myScene::AnimationEnd,this));//可以帧听到,亲测3.6。}voidmyScene::onFrameEvent(Frame*frame)//固定的格式{EventFrame*evnt=dynamic_cast(frame);if(!evnt)return;std::stringstr=evnt->getEvent();if(str=="xxoo"){CCLOG("comeonbaby");}}voidXXX::AnimationEnd(){CCLOG("animationend");}注:1.不会看源码的码农不是好程序猿啊。经常有人求某个API接口,这东西查查头文件看接口名就能知道个大概啦。源码就是最权威的API文档啊有木有!!!2.2.x版本Studio导出的CSB资源需要与2d-x严格对应(具体看这里)(估计以后会提供与2d-x解耦的方法。)3.CocosStudiov2.x假定在编辑器里边的资源目录即游戏的最终的目录结构,因而如果你修改了导出资源的目录则需要编辑器目录也需要跟着修改。也可以用addSearchPath来把你的路径添加到FileUtils中,但要小心文件名冲突。

C. cocosjs 可不可以将一个事件添加给多个节点

在使用时,首先创建一个事件监听器,事件监听器包含以下几种:

触摸事件 (cc.EventListenerTouch)
键盘响应事件 (cc.EventListenerKeyboard)
加速记录事件 (cc.EventListenerAcceleration)
鼠标响应事件 (cc.EventListenerMouse)
自定义事件 (cc.EventListenerCustom)
以上事件监听器统一由 cc.eventManager 来进行管理, 它是一个单例对象。它的工作需要三部分组成:

事件管理器 cc.eventManager
事件类型 cc.EventTouch, cc.EventKeyboard 等
事件监听器 cc.EventListenerTouch, cc.EventListenerKeyboard 等
监听器实现了各种触发后的逻辑,在适当时候由 事件管理器分发事件类型,然后调用相应类型的监听器。

使用方法
现在将要实现在一个界面中添加三个按钮,三个按钮将会互相遮挡,并且能够触发触摸事件,以下是具体实现

首先创建三个精灵,作为三个按钮的显示图片

var sprite1 = cc.Sprite.create("Images/CyanSquare.png");
sprite1.x = size.width/2 - 80;
sprite1.y = size.height/2 + 80;
this.addChild(sprite1, 10);

var sprite2 = cc.Sprite.create("Images/MagentaSquare.png");
sprite2.x = size.width/2;
sprite2.y = size.height/2;
this.addChild(sprite2, 20);

var sprite3 = cc.Sprite.create("Images/YellowSquare.png");
sprite3.x = 0;
sprite3.y = 0;
sprite2.addChild(sprite3, 1);

D. cocos studio怎样建立节点

启动,新建一个项目:

这样就完成项目的创建。

在编辑之前,需要先给项目提供资源,一种是把资源拖到右边的资源列表或都在资源列表打开选择资源对话框。

插入结果

其它资源依此类推。

项目创建会默认创建一个画布和一个容器panel:

在正式编辑UI之前,需要先设置画面大小,这个跟据你项目的要求设置。

下面在画面中,填加一个图片。很不幸,你不能从资源列表直接拖到中间的画布上只,只能在画布或对象列表使用右键,弹出右键菜单,添加图片对象。

然后,用鼠标选这个对象。在画面的右边,会有一个对象的属性面板。

属性面版有尺寸和模式、常规、控件布局、特性。大家可以尝试设置,就知道他的作用了。添加完成后,把具体的图片资源拖到属性面版->特性->文件框内,就可以了。

结果

这样就OK了。

在属性面板有一个Tag属性和名子属性要注意一下,我面在加载UI后,可以通过这两个属性取得UI中的这个对象。

可能调整渲染层级达到调整显示次序的效果。

按照上面的步骤,就可以很快的做出UI了。

做完后,就需要导出UI了,Cocos2d-x是不能直接使用UI工程的,需要使用导出的。

在导出资源这块,要注意一下,使用大图,会把用到的资源拼成一个大图,可以提高效率。使用小图,则把资源的图原样复制过去。这个看你的取舍了。

导出完成后,把导出的目录复制到cocos2dx工程的Resource这个目录下面,就可以在项目中使用了。

最后在需要使用这个UI的场景,增加下面代码:
gui::TouchGroup* ul = gui::TouchGroup::create();
ul->addWidget(GUIReader::shareReader()->widgetFromJsonFile("NewUi_1/NewUi_1.ExportJson"));
this->addChild(ul, 2);

如果要访问这个资源,就可以通过tag来操作。 ul->getWidgetByTag(42)。注意不是ui->getChildByTag(42),这个不会遍历所有的子节点!这样就完成一个完全的UI操作!

E. cocos creator 中怎么让一个节点在一块区域循环转动

一个动画只能被一个精灵绑定,要多个用同一个动画复制一份就好了。 starFrame2->runAction((CCActionInterval*)starAction ->());

F. cocos studio 图层和节点的区别

美术层面上:
场景文件可视为一个屏幕,不能被嵌套到其他文件中。是游戏中必不可少的元素,可用来创建关卡、菜单等。
节点文件是界面的最基本元素,一般用来存储控件、及制作小动画,以便在其他类型文件中复用。
图层文件通常包含直接在屏幕上呈现的内容,我们需要在图层中加入精灵、文本标签或其他游戏元素,并设置这些元素的属性,如位置、方向和大小以及设置游戏元素的动作等。
技术层面上:
Cocos Framework的界面对象以树形式组织。
节点(Node)是构成树的基本元素,所有能够被挂载到树上的对象都必须继承节点,包括场景和图层对象。
场景(Scene)对象在Framework中一般作为一个界面的入口,即树的根。
图层(Layer),节点的扩展,能够监听游戏的触摸、重力感应、键盘事件。

G. cocos studio 怎么合图

#include”CocosStudio.h“

//节点
Node* node = CSLoader::createNode("ActionTest/MainScene.csb");
this->addChild(node);
//动画
ActionTimeline* action = CSLoader::createTimeline("ActionTest/MainScene.csb");
node->runAction(action);
action->gotoFrameAndPlay(0, true);

我大概是按这个方法写的,,但这样写会提示找不到#include”CocosStudio.h“ ,,然后,我把它改成#include"editor-support/cocostudio/ActionTimeline/CSLoader.h"
会在这个地方提示错误
ActionTimeline* action = CSLoader::createTimeline("ActionTest/MainScene.csb");
node->runAction(action);

H. ccscale9sprite怎么替换 cocos

Scale9Sprite 这个库呢,你是只引用了头文件,没有编译相应的cpp代码。所以你还是要添加 libExtensions.lib,里面有代码。或者呢,可以把Scale9Sprite相关的代码都加到自己的工程里,自己编译。

I. 如何使用Cocos Studio导出的LUA文件

首先导出的LUA文件是这样的


这段代码,首先判断callBackProvider是否为空,然后呢,将他的返回值设置为Button_1的Click回调函数。


这样就很明白了。create时候需要传入的参数callBackProvider是一个函数,他的功能是根据传入的3个参数进行判断,最终返回一个函数最为Button(或者其他node)的回调函数!


callBackProvider的三个参数,分别是,当前LUA文件的路径,所绑定的Node(可以通过name或者tag来判断是哪个node),最后是回调函数的名字,通过这三个参数可以很容易的知道是哪个按钮的回调事件,从而返回该按钮所需要的回调函数。


所以,在create时候应该是这样的:

localcallBackProvider=function(path,node,funcName)

ifpath=="Scene.lua"andnode:getName()=="Button_1"andfuncName=="bnt2"then

localfunctionbtnCallback(node,eventType)

--TODO

end

returnbtnCallback

end

end

localcsLuaScene=require("Scene.lua").create(callBackProvider)

也许大家看第一篇文章时候,注意到 我这里提示了一个错误,版本不兼容。是时候更新到3.5了!如果不想更新的话,就把3.5的UI的部分替换过来吧………

阅读全文

与Cocos怎么替换节点图片相关的资料

热点内容
东风a9图片价格 浏览:472
头像男生酷帅图片可截图 浏览:650
男生圆脸发型图片 浏览:338
沙画图片唯美简单 浏览:324
猜猜这是什么图片大全 浏览:557
沙画图片简单树 浏览:615
格调床价格和图片 浏览:251
男孩子表演妆图片大全 浏览:941
我要看穿搭衣服图片 浏览:904
别克君越价格图片 浏览:842
印花图案可爱图片 浏览:908
word批量制作打印带图片 浏览:960
美女被泼水的图片 浏览:977
天使图片模糊如何变清晰 浏览:572
椭圆形脸发型图片 浏览:351
初中女生奶图片 浏览:349
文字控图片励志 浏览:24
北方文字图片 浏览:971
儿童手工图片大全衣服 浏览:50
城堡3d高清图片 浏览:765