使用COCOStudio中各种资源
UI Editor:
先把项目导出的json和资源文件放到TestGame项目的Resource目录中
1. 在HelloWorldScene.cpp顶部添加引用
#include "cocos-ext.h"
using namespace cocos2d::extension;
USING_NS_CC;
2. 创建一个UILayer层
UILayer* ul = UILayer::create();
this->addChild(ul);
ul->addWidget(CCUIHELPER->createWidgetFromJsonFile("文件名.json"));
3. 绑定UILayer层上控件的事件
tbOk = dynamic_cast<UITextButton*>(ul->getWidgetByName("tbOk"));
tbOk->addReleaseEvent(this, coco_releaseselector(HelloWorld::tbOkCallback));
增加回调函数:
void HelloWorld::tbOkCallback(cocos2d::CCObject *pSender) {
//获取文本框值,并打印
UITextField* tfOldPwd = dynamic_cast<UITextField*>(ul->getWidgetByName("tfOldPwd"));
CCLog(tfOldPwd->getStringValue());
}
Animation Editor:
先把项目导出的json和资源文件放到TestGame项目的Resource目录中
1. 文件头添加引用(同上)
2. 使用示例:
// 首先读取png,plist和ExportJson/json文件
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("ActionEditor/Cowboy0.png", "ActionEditor/Cowboy0.plist", "ActionEditor/Cowboy.ExportJson");
//然后创建armature类,并将进行初始化
CCArmature *armature = CCArmature::create("Cowboy");
//然后选择播放动画0,并进行缩放和位置设置
armature->getAnimation()->playByIndex(0);
//该模板中共制作了三个动画,你可以将索引修改为0/1/2中的任意值来查看不同效果
armature->setScale(0.5f);
armature->setPosition(ccp(visibleSize.width * 0.5, visibleSize.height * 0.5));
//最后将armature添加到场景中
this->addChild(armature,2);
Scene Editor:
先把项目导出的json和资源文件放到TestGame项目的Resource目录中
1. 文件头添加引用(同上)
2. 使用示例:
找到void HelloWorld::menuCloseCallback(CCObject* pSender)这个方法,并输入下面代码:
//创建一个新的场景
CCScene* newscene = CCScene::create();
//从CocoStudio场景编辑器生成的数据生成根节点
CCNode* pNode = CCJsonReader::sharedJsonReader()->createNodeWithJsonFile("SceneEditorTest/SceneEditorTest.json");
//播放背景音乐
CCComAudio* pAudio = (CCComAudio*)(pNode->getComponent("Audio"));
pAudio->playBackgroundMusic(pAudio->getFile(), pAudio->getIsLoop());
//给蝴蝶鱼配置动画
CCComRender* pFishRender = (CCComRender*)(pNode->getChildByTag(10010)->getComponent( "butterFlyFish"));
CCArmature* pButterFlyFish= (CCArmature*)(pFishRender->getRender());
pButterFlyFish->getAnimation()->playByIndex(0);
newscene->addChild(pNode, 0, 1);
//切换到新的场景
CCDirector::sharedDirector()->replaceScene(newscene);
3. 场景切换效果:
CCScene *s = SecondPage::scene();
CCDirector::sharedDirector()->setDepthTest(true);
CCTransitionScene *transition = CCTransitionPageTurn::create(3.0f, s, false);
使用COCOStudio中各种资源的更多相关文章
- Pyqt 获取打包二进制文件中的资源
记得有一次打开一个单独exe程序,点击btn中的一个帮助说明按钮,在同级目录下就多出一个help.chm 文件并自动打开. 那这个exe肯定是把help.chm 打包到exe中,当我触发“帮助”按钮的 ...
- Windows Store App 全球化:引用分离资源文件中的资源
大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用 ...
- Hadoop 2.0 中的资源管理框架 - YARN(Yet Another Resource Negotiator)
1. Hadoop 2.0 中的资源管理 http://dongxicheng.org/mapreduce-nextgen/hadoop-1-and-2-resource-manage/ Hadoop ...
- 读取Jar包中的资源问题探究
最近在写一个可执行jar的程序,程序中包含了2个资源包,一个是images,一个是files.问题来了,在Eclipse里开发的时候,当用File类来获取files下面的文件时,没有任何问题.但是当程 ...
- Delphi中关于资源释放(Free,Relealse,FreeAndNil)
根据日常编程经验,得出一些Delphi中关于资源释放的体会. 假如有对象Obj为TObject类型: 1) Obj.Free直接释放资源后,调用OnDestroy事件,但是没有将Obj指针值置为Nil ...
- eclipse 在Navigator视图中查看资源
随着不断使用Eclipse,Navigator视图中的实体数目会增加.通过在某一项目或文件夹上右击,并在所出现的快捷菜单中选择Go Into命令,你就可以查看该项目或文件夹中的资源了.此时Naviga ...
- 【Android 界面效果30】Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
本文主要是写关于ImageSwitcher结合Gallery组件如何展示SDCard中的资源图片,相信大家都看过API Demo 中也有关于这个例子的,但API Demo 中的例子是展示工程中Draw ...
- 【解惑】深入jar包:从jar包中读取资源文件
[解惑]深入jar包:从jar包中读取资源文件 http://hxraid.iteye.com/blog/483115 TransferData组件的spring配置文件路径:/D:/develop/ ...
- MFC的dll中控制资源问题
有程序EXE和DLL,其中DLL中有1个函数用来显示对话框,被EXE调用.当EXE和DLL都为Release或Debug时,没有任何问题,但EXE为Release.DLL为Debug时,就会出错.该D ...
随机推荐
- CF796D Police Stations 思维
Inzane finally found Zane with a lot of money to spare, so they together decided to establish a coun ...
- kuangbin专题十二 HDU1260 Tickets (dp)
Tickets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- 本地命令上传文件到服务器以及linux编辑过程中非正常退出问题
一.上传文件到linux服务器首先从你本地切换到你要上传文件的目录,接下来:scp 文件名字 服务器用户名字@服务器ip:存储路径例子:scp index.html root@106.75.229 ...
- Java Applet 素数小程序
en... 1. Applet 这个远古的东西,今天我同学让我帮他看看代码,说applet运行出错.额,反正闲着也是闲着,看看呗 ,结果看到代码...4 2.就是实现这破玩意 package calc ...
- python 面向对象及封装继承和多态
######装饰器######装饰器的概念 - 装饰器的实现是函数里面嵌套函数;- 装饰器的本质是一个函数, 它可以让其他函数在不需要做任何代码改动的前提下增加额外的功能;- 装饰器需要传递一个函数, ...
- git 合并某个提交commit到指定的分支上
https://blog.csdn.net/anhenzhufeng/article/details/77962943 git checkout master git cherry-pick 62ec ...
- web安全之文件上传漏洞攻击与防范方法
一. 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行.这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等.这种攻击方式是最为直接和有效 ...
- kohana reading session data error(session_start)引起的错误
在项目中碰到一个很奇怪的问题,同一个网站目录下两个项目,手机端访问从A项目切换到B项目,总是报错,session_start抛错,后来排查了很久,终于发现是存储session的时候直接存储的对象,导致 ...
- dynamic:动态类型简单用法,写法
class 动态创建数据 { //动态类型:本质感觉跟object的用法差不多,只是在执行的时候才知道数据类型 public dynamic Dynamic() { //定义一个动态类型,作为返回值 ...
- 懒汉式单例要加volatile吗
private static volatile Something instance = null; public static Something getInstance() { if (insta ...