如何使用 Cocos Studio 场景cocos地图编辑器器制作《魔卡幻想》主界面

如何使用 CocoStudio 场景编辑器制作《魔卡幻想》主界面_百度知道
如何使用 CocoStudio 场景编辑器制作《魔卡幻想》主界面
提问者采纳
使用 CocoStudio 场景编辑器制作《魔卡幻想》主界面  1 CocoStudio 场景编辑器  使用 CocoStudio 场景编辑器来创建游戏场景,其中包含游戏 UI 与动画,来定制一个游戏主界面。  2 使用 CocoStudio 完成《魔卡幻想》场景编辑  对于环境的搭建使用,请参考之前的文章,或者实时关注 官方 最新版本的安装使用方法。  2.1 UI 编辑器制作游戏主界面  创建项目(项目名称:MysticalCard),并导入项目 UI 资源,添加 一图片框设定背景图片。注意在工具拦设置 “画布” 的大小(如果需要),这将决定着你的设计分辨率,在运行时还需要注意屏幕的适配问题,如放大缩小,位置偏移等,视具体情况而定。  为界面添加 UI 元素,图片框等,请根据自己的需要定制  实践过程中的注意事项  添加控件时注意必要的属性设置  控件的命名规范,这有助于我们今后在后台编写代码获取界面元素  可交互的控件的 “可交互属性” 开启  2.2 建立关键帧动画  除了主界面一些必要的 UI 控件,我们还需要一个 “对话框指示” 的动画效果。这是一个帧动画。  准备工作。  如下图所示:  打开 CocoStudio ,启动 动画编辑器  创建一个新的项目,后导入资源(在 “资源窗口” 中,点击 “文件” 或者 “文件夹” 标示,添加需要的素材资源)  在 “资源窗口中” 点击关键帧动画的守帧图片,拖动至 “渲染窗口”  将第一关键帧拖动至 “渲染窗口” 中心。 可以使用工具栏,快速定位至窗口中心,使图片显示在正中间,可以让动画更好的定位。  添加其它帧图片,注意,我们需要选中剩余图片,然后 “拖动” 到 “对象结构” 视图中的 “第一关键帧” 所在的对象,如下图所示。关键帧 与 骨骼动画操作区别:在使用骨骼动画的时候,我们将骨骼中的各部分元素,直接拖动添加到 “渲染窗口”,以摆放各骨骼的位置关系,而在 “对象结构” 视图中则表现为,一个列表,标示着每一块骨骼对象,不同帧所改变的是各个骨骼对象的位置,以达到骨骼动画效果。而在关键帧动画中,它的对象结构只有一个,而在每一帧修改的不是其位置,而是其显示内容。这是两者之间的区别,那操作方式也有所不同。而对于它们所导出的 资源 则是相同,用法也是同样。  剩余帧添加之后,我们看见在 “关键帧” 视图中,已经有了多帧动画,可以播放动画,查看效果,并可以通过修改 “速率” 来控制动画的播放速度。  导出动画资源,导出的资源文件可以被我们在 Cocos2d-x 中以代码的方式直接加载,然后播放其动画,也可以作为 场景编辑器中的一个元素,被添加在场景编辑器里,后面的内容就是使用 场景编辑器来加载一个动画的方式。  2.3 场景编辑器的 资源“整合”  使用 CocoStudio 可以很好的帮助游戏开发过程中 分工合作。动画编辑器 和 UI 编辑器可以由多个人旦抚测幌爻呵诧童超阔进行编辑,最后再由一个人统合资源,这也就是场景编辑器的优点了,它除了能支持 CocoStudio 本身所自带的动画编辑器,UI 编辑器,它还能支持,Tmx 地图资源,粒子编辑器的粒子效果资源,声音资源等~并且不断扩展中。以下将给出如何在 场景编辑器整合我们之前所创建的动画与 UI 界面的资源,来实现我们一个场景的运行效果。它的步骤如下:  1.启动场景编辑器,新建一个场景项目。并设置 “画布” 大小。画布大小要适量。2.我们拖动一个 UI 控到画布之上,它作为我们之前导出的 UI 资源的承载。
电子产品技术支持
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁CocosBuilder 多分辨率基础 | 泰然网
159 次浏览 |
最近两个项目大量使用了CocosBuilder, 对于开发效率提高是巨大的. 一直计划写一篇博客谈谈CocosBuilder的多分辨率问题, 懒病加上一些疙疙瘩瘩的小事情, 拖延了一个多月, 才终于下定决心要尽快完成这篇博客.
在这篇文章中, 假定你比较熟悉CocosBuilder, 如果您还不是很熟悉CocosBuilder, 推荐您看下我的另外一篇文章.
我还是小菜鸟一个, 难免会有很多错误, 还望各位看客不吝赐教.
Cocos2d-x 2.1.4
CocosBuilder 3.0alpha5
最近几次Cocos2d-x和CocosBuilder(以下简写为2dx和ccb)都是联合发布的, 使用联合发布的版本会减少不兼容的可能.
我觉得在多分辨率中重要的概念就是位置, 大小, 节点关系, 可以通过位置, 大小, 节点关系, 锚点等的合理组合, 最终达到理想的界面. 当然, 这需要ccb的使用者更多的思考. ^_-
我们可以看到ccb中位置共有6种设置. 其中前四种设置方式代表了当前节点相对于其父节点的一个顶点的绝对位置.
如上图所示, 我们把Click me 按钮, 放在了距离其父节点右上角各50px. 这种位置的设置方式, 一般在节点需要放在父节点一个角上时很有用.
第5种设置方式表示当前节点的坐标由其父节点大小(宽width, 高height)的百分比组成, 其中父节点的左下角为原点. 如上图所示一个节点的父节点大小为200px*100px, 当前节点设置为(70%, 50%),那么当前节点距离其父节点左下角就应该是(140, 50). 百分比设置是位置设置中最常用的方式, 只有当百分比设置不适合时才去考虑其他设置方式.
第6种设置方式其实就是第1种设置方式的x,y值分别乘以一个全局缩放系数. 我们接下来就讲这个全局缩放系数, 这里先假设iphone下为1, iphone retina下为2. 如上图所示, 当前节点在iphone下距离其父节点左下角(50*1, 50*1), 在iphone retina下则就是(50*2, 50*2).
全局缩放系数
如果我们需要在屏幕上放一个CCLabelTTF, 字体大小设置为48, 分别放在480*320分辨率的iphone上和960*640分辨率的iphone retina上, 那么在iphone retina上显示会显得特别小. 这个时候我们就需要为游戏设置一个全局缩放系数, iphone下为1, iphone retina下为2, 那么ccb中设置字体大小为48, 在游戏中iphone上字体大小为48*1=48, iphone retina中字体大小为48*2=96.
你可以在设置位置, 内容大小, 缩放, 字体大小的时候, 找到这个选项. 都是一样的道理, 对应的数据都需要乘以全局缩放系数.
默认iphone(480*320)的全局缩放系数是1, iPad/iphone HD是2, iPad HD就是4了. 当然你可以自己设置一套全局缩放系数.
只有如CCLayer, CCNode等几个节点可以设置内容大小. 可以有6个选项.
百分比相对大小, 相对于父节点的大小
相对父节点大小, 宽高设置为(100, 100), 那么该节点比其父节点宽高各小100px. 如果设置为(0, 0), 那么该节点就和父节点一样大小.
宽度百分比, 高度绝对大小.
宽度绝对大小, 高度百分比.
绝对大小, 会被乘以全局缩放系数.
多分辨率的文档
从菜单中选择Edit Resolutions…, 打开编辑多分辨率对话框.
我们可以看到当前为iphone设置了(480*320)的分辨率, Scale这个选项就是我们上面提到的全局缩放系数, 值为1. 为iPad设置了()的分辨率, 全局缩放系数为2.
我们可以点击Add Predefined Resolution, 来添加ccb预定义的分辨率. 比如添加一个iphone5的分辨率. 哦, 什么, 分辨率是568*320???? 需要注意的是,CocosBuilder的工作是基于点(Point)的,而不是像素的。.
Resolution Extension和resources-auto(插播)
ccb中有一个resources-auto的重要概念, 你可以只提供一套资源, ccb通过全局缩放系数, 来为你自动生成不同分辨率的图片. 假设你为iPad retina(全局缩放系数为4)设计了一张100*100的图片.那么iphone会得到一张25*25的图片. iPad/iphone HD会得到一张50*50的图片.
说到资源解决方案, 首先要决定你想要支持的最大分辨率. 假设需要完美支持iPad HD, 就按来做资源, 此时全局缩放系数为4. 把图片资源放置到resources-auto目录下, 那么ccb会帮我们自动缩放出其他需要的分辨率. 嗯, 还需要像下图一样设置, 告诉ccb需要从4x来设置. 从菜单的Publish Settings…打开.
如果是和背景无关的图片, 一般来讲自动缩放就可以胜任了.
如果需要在不同的分辨率下使用不同的图片, 比如一张背景图, iphone上使用960*640的图片, iPad上使用一张的图片. 那么可以在资源目录创建resources-iphone, resources-ipad目录, 然后在resources-iphone放置一张960*640分辨率的图片demo.png, 在resources-ipad目录下放置一张分辨率的图片demo.png. 要注意需要保持其文件名相同.
我们在ccb的工程目录下仍然只看到了一份demo.png, 不要着急, ccb会根据我们选用的不同的分辨率来给我们呈现不同的图片.
ok, 插播结束. 继续说我们的多分辨率文档.
其实, 我们可以给文档添加一个iphone hd, 以及正常iphone5尺寸的文档. 比较遗憾的是ccb不支持编辑Resolution Extension的列表. 而ipad和iphonehd的设置是在一起的, 并且也没有iphone5的Resolution可以设置. 所以我希望你没有需要必须要区分iphonehd/iphone5的需求, 在ccb里面是无法区分的. 令人欣慰的是, 我们还是可以在游戏里面区分他们.-_=
给文档添加的分辨率是可以自定义的, 名字, 宽, 高, 全局缩放系数. 所以我们还是可以创建全尺寸的iphonehd/iphone5的分辨率.
然后, 我们可以在ccb的菜单中找到切换多分辨率的选项, 这样就可以很方便的预览在各个分辨率下的效果. 注意他们的快捷键哦, 很有用哦.推荐在使用的时候, 经常在几个分辨率下切换查看效果是否正确理想.
做一个ccb工程
是时候做一个ccb的工程了, 不过我有点羞涩要给你展示我做的工程. 因为它实在太丑了, 还是来一张截图吧, 希望没有吓到你.-_=
由于上面提到的一些限制, 只能基本上做到在ccb中做的, 就是我们在游戏中看到的.
ccb自带的帮助中Setting scale and design size, 需要做一些改进. 下面是我的代码.
//set the correct resource for CocosBuilder
CCSize sizeIphone = CCSizeMake(480, 320);
CCSize sizeIphoneHD = CCSizeMake(960, 640);
CCSize sizeIphone5 = CCSizeMake();
CCSize sizeIpad = CCSizeMake();
CCSize sizeIpadHD = CCSizeMake();
CCSize designSize = sizeIphoneHD;
CCSize resourceSize = sizeIphoneHD;
CCSize screenSize = CCEGLView::sharedOpenGLView()-&getFrameSize();
std::vector&std::string& searchP
std::vector&std::string& resDirO
TargetPlatform platform = CCApplication::sharedApplication()-&getTargetPlatform();
if (platform == kTargetIphone || platform == kTargetIpad)
CCFileUtils::sharedFileUtils()-&setSearchPaths(searchPaths);
if (screenSize.width & 768)
resourceSize = sizeIpadHD;
designSize = sizeIpadHD;
resDirOrders.push_back(&resources-ipadhd&);
CCBReader::setResolutionScale(4.0f);
} else if (screenSize.width & 640) {
resourceSize = sizeI
designSize = resourceS
resDirOrders.push_back(&resources-ipad&);
resDirOrders.push_back(&resources-iphonehd&);
CCBReader::setResolutionScale(2.0f);
} else if (screenSize.width & 480) {
if (screenSize.height & 960) {
designSize = sizeIphone5;
designSize = sizeIphoneHD;
resourceSize = sizeIphoneHD;
CCBReader::setResolutionScale(2.0f);
resDirOrders.push_back(&resources-iphonehd&);
CCBReader::setResolutionScale(1.0f);
designSize = sizeI
resourceSize = sizeI
resDirOrders.push_back(&resources-iphone&);
CCFileUtils::sharedFileUtils()-&setSearchResolutionsOrder(resDirOrders);
pDirector-&setContentScaleFactor(resourceSize.width / designSize.width);
CCEGLView::sharedOpenGLView()-&setDesignResolutionSize(
designSize.width, designSize.height,
kResolutionExactFit);
CCNodeLoaderLibrary *lib = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();
CCBReader *reader = new CCBReader(lib);
CCScene *scene = reader-&createSceneWithNodeGraphFromFile(&MainScene.ccbi&);
pDirector-&runWithScene(scene);
这里只支持了iOS, 如果需要支持Android的话, 可以挑选几个需要的分辨率, 邻近的分辨率坐下拉伸等策略.
运行下代码, 可以看下效果. 收工.
推荐看下bilt的两篇博客:
里面还罗列了数片前辈们关于多分辨率的文章, 我学习的过程中也受益匪浅.
没有个人说明
2 2 1 1 1 1 1 1 1 1
4052 3209 2993 2898 2639 2486 2294 2226 2083 2003
22 杰鹏的梦
18 泰然处之你的位置: >
> 【图文详解】如何使用Cocos Studio UI编辑器
Cocos2d-x不仅是有框架,还提供了一个编辑器,可以对动画、UI、骨骼动画和场景编辑的功能。使用这些工具,大大缩短了用Cocos2d-x开发周期。
下载地址:, 现在MAC的版本也出来了。
下图是界面
然后启动,新建一个项目:
这样就完成项目的创建。
在编辑之前,需要先给项目提供资源,一种是把资源拖到右边的资源列表或都在资源列表打开选择资源对话框。
其它资源依此类推。
项目创建会默认创建一个画布和一个容器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操作!
来源网址:
转载请注明: &
与本文相关的文章该系列其他文章
Cocos Studio场景编辑器开发 -- 组件定位
问题Cocos Studio中场景编辑器是游戏运行的最关键场所,尽管DEMO中提供了各种类型的例子,但是在涉及到组件定位时,还是空白。例如,DEMO中仅提供了这样的代码:&&&&CCNode&*pNode&=&SceneReader::sharedSceneReader()-&createNodeWithSceneFile(&scenetest/SpriteComponentTest/SpriteComponentTest.json&);
&&&&if&(pNode&==&NULL)
&&&&&&&&return&NULL;
&&&&CCActionInterval*&&action1&=&CCBlink::create(2,&10);
&&&&CCActionInterval*&&action2&=&CCBlink::create(2,&5);
&&&&CCComRender&*pSister1&=&static_cast&CCComRender*&(pNode-&getChildByTag(10003)-&getComponent(&CCSprite&));
&&&&pSister1-&getNode()-&runAction(action1);显然,运行各种各样的ACTION,几乎是每一个游戏必需的。而上面的例子中仅提供了简单的理想情况下的位移操作。那么,如果定位一个组件呢?答案请参考下面代码:CCComRender&*r&=static_cast&CCComRender*&(m_pCurNode-&getChildByTag(10015)-&getComponent(&CCSprite_D1&));
PLACEHOLDER_HALF_HEIGHT=r-&getNode()-&getContentSize().height*0.5;通过上面代码,可以(而且必须这样)访问到精灵组件的大小等数据,但是如果定位组件位置就不行了。例如下面:CCPoint&point=r-&getNode()-&getPosition();这样得到的坐标只是一个(0,0)!!!要得到上面精灵组件的坐标可以使用如下方法:CCPoint&point=m_pCurNode-&getChildByTag(10015)-&getPosition();
来源网址:
评论内容不能为空。如何使用 CocoStudio 场景编辑器制作《魔卡幻想》主界面_百度知道
如何使用 CocoStudio 场景编辑器制作《魔卡幻想》主界面
提问者采纳
它作为我们之前导出的 UI 资源的承载。  导出动画资源。画布大小要适量,而在每一帧修改的不是其位置,我们需要选中剩余图片,快速定位至窗口中心。 可以使用工具栏,可以让动画更好的定位:在使用骨骼动画的时候。  剩余帧添加之后,或者实时关注 官方 最新版本的安装使用方法。它的步骤如下,如下图所示,来实现我们一个场景的运行效果,然后播放其动画。  准备工作,这将决定着你的设计分辨率,它还能支持,并导入项目 UI 资源,已经有了多帧动画,使图片显示在正中间,这有助于我们今后在后台编写代码获取界面元素  可交互的控件的 “可交互属性” 开启  2:  打开 CocoStudio 。  2,新建一个场景项目,启动 动画编辑器  创建一个新的项目,以摆放各骨骼的位置关系,如放大缩小,拖动至 “渲染窗口”  将第一关键帧拖动至 “渲染窗口” 中心。注意在工具拦设置 “画布” 的大小(如果需要),UI 编辑器.我们拖动一个 UI 控到画布之上,点击 “文件” 或者 “文件夹” 标示,粒子编辑器的粒子效果资源:  1。  2 使用 CocoStudio 完成《魔卡幻想》场景编辑  对于环境的搭建使用,在运行时还需要注意屏幕的适配问题,而在 “对象结构” 视图中则表现为,那操作方式也有所不同,我们看见在 “关键帧” 视图中.1 UI 编辑器制作游戏主界面  创建项目(项目名称.启动场景编辑器,也可以作为 场景编辑器中的一个元素,用法也是同样,标示着每一块骨骼对象,这也就是场景编辑器的优点了,请参考之前的文章,然后 “拖动” 到 “对象结构” 视图中的 “第一关键帧” 所在的对象。  为界面添加 UI 元素,被添加在场景编辑器里,后面的内容就是使用 场景编辑器来加载一个动画的方式,我们还需要一个 “对话框指示” 的动画效果,最后再由一个人统合资源。动画编辑器 和 UI 编辑器可以由多个人进行编辑。而在关键帧动画中,可以播放动画。  如下图所示,我们将骨骼中的各部分元素,一个列表,而是其显示内容。这是一个帧动画,请根据自己的需要定制  实践过程中的注意事项  添加控件时注意必要的属性设置  控件的命名规范。2,导出的资源文件可以被我们在 Cocos2d-x 中以代码的方式直接加载。  2,声音资源等~并且不断扩展中.2 建立关键帧动画  除了主界面一些必要的 UI 控件,Tmx 地图资源,后导入资源(在 “资源窗口” 中。而对于它们所导出的 资源 则是相同.3 场景编辑器的 资源“整合”  使用 CocoStudio 可以很好的帮助游戏开发过程中 分工合作。关键帧 与 骨骼动画操作区别,直接拖动添加到 “渲染窗口”,它的对象结构只有一个,添加需要的素材资源)  在 “资源窗口中” 点击关键帧动画的守帧图片。并设置 “画布” 大小,添加 一图片框设定背景图片,不同帧所改变的是各个骨骼对象的位置,注意,并可以通过修改 “速率” 来控制动画的播放速度,查看效果,视具体情况而定使用 CocoStudio 场景编辑器制作《魔卡幻想》主界面  1 CocoStudio 场景编辑器  使用 CocoStudio 场景编辑器来创建游戏场景,位置偏移等,来定制一个游戏主界面。  添加其它帧图片,图片框等:MysticalCard),它除了能支持 CocoStudio 本身所自带的动画编辑器。以下将给出如何在 场景编辑器整合我们之前所创建的动画与 UI 界面的资源,以达到骨骼动画效果。这是两者之间的区别,其中包含游戏 UI 与动画
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 cocos动画编辑器 的文章

 

随机推荐