您的位置:首页 > 移动开发 > Cocos引擎

Cocos studio初使用(二)

2016-01-18 16:58 405 查看
Cocos studio初使用(二)
使用markdown来编辑的第一篇文章,其他都还好,代码没有高亮感觉好不爽啊,不知道有没有高人知道怎么搞定这个。
前面的文章介绍了如何在cocos studio中设计场景等,这篇文章介绍一下如何在代码中使用。
一、导入场景
//有几点需要注意
//1、发布后的代码在Resources/res目录下,需要将res目录添加到文件搜索路径中,在AppDelegate::applicationDidFinishLaunching()函数添加:
FileUtils::getInstance()->addSearchPath("res");
//注意要在director->runWithScene(scene);前添加

//2、修改设计分辨率为与图片资源相对应的分辨率:
static cocos2d::Size designResolutionSize = cocos2d::Size(1280, 720);

//3、将setContentScaleFactor相关的逻辑都删掉,这个是控制设计分辨率和资源分辨率的比值的,前面设置两个值相同,就不需要设置这个值了(而且自动添加的代码,这部分逻辑有问题)
然后,我们就可以添加场景,在HelloWorld的init函数中,添加:
auto mainScene = CSLoader::createNode("MainScene.csb");
mainScene->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
mainScene->setAnchorPoint(Vec2(0.5,0.5));
this->addChild(mainScene);


运行后就可以看到效果:



二、播放帧动画
虽然显示了场景,但可以看到其中的帧动画并没有播放,这是因为播放需要额外操作,我们来加入如下代码:auto mainAction = CSLoader::createTimeline("MainScene.csb");
//缓存动画
mainScene->runAction(mainAction);
//播放动画,true表示重复播放
mainAction->gotoFrameAndPlay(0,180,true);
然后执行,可以看到效果:



三、添加按钮事件
我们在cocos studio中编辑时,添加了几个按钮,我们可以从代码中取到这几个按钮,然后添加对应的事件。
//ui::Button需要添加#include "cocos-ext.h"
auto btnPlay = static_cast<ui::Button* >(mainScene->getChildByName("Button_play"));
btnPlay->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchPlay, this));

//然后实现一个回调函数HelloWorld::touchPlay
void HelloWorld::touchPlay(Ref* pSender,ui::Widget::TouchEventType type){
//一共有下面四种事件会触发
switch (type) {
case ui::Widget::TouchEventType::BEGAN:
CCLOG("btnPlay touch BEGAN");
break;
case ui::Widget::TouchEventType::MOVED:
CCLOG("btnPlay touch CANCELED");
break;
case ui::Widget::TouchEventType::CANCELED:
CCLOG("btnPlay touch CANCELED");
break;
case ui::Widget::TouchEventType::ENDED:
CCLOG("btnPlay touch ENDED");
break;
}
}

执行后,点击按钮会触发事件,可以在console中看到输出:
btnPlay touch BEGAN
btnPlay touch ENDED
btnPlay touch BEGAN
btnPlay touch CANCELED
btnPlay touch CANCELED
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos studio csb文件