Cocos studio初使用(二)

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值