Cocos2d-X中使用ProgressTimer实现一些简单的效果

Cocos2d-X中使用ProgressTimer实现一些简单的效果,第1张

概述我在上一篇博客中介绍了ProgressTimer的用法,这篇博客决定写一些使用Progress实现一些简单的效果, 程序实例:ProgressTimer实现效果1 首先在工程目录下的Resource文件夹中添加两张图片         然后定义一个Progress类 在Progress.h中添加下面的代码 #ifndef _Progress_H_#define _Progress_H_#in

我在上一篇博客中介绍了Progresstimer的用法,这篇博客决定写一些使用Progress实现一些简单的效果,

程序实例:Progresstimer实现效果1

首先在工程目录下的Resource文件夹中添加两张图片

然后定义一个Progress类

在Progress.h中添加下面的代码

#ifndef _Progress_H_#define _Progress_H_#include "cocos2d.h"USING_NS_CC;class Progress : public cclayer{public:    static CCScene* scene();    bool init();    CREATE_FUNC(Progress);    voID scheduleFunc(float dt);};#endif

在Progress.cpp中添加下面代码

#include "Progress.h"CCScene* Progress::scene(){    CCScene* scene = CCScene::create();    Progress* layer = Progress::create();    scene->addChild(layer);    return scene;}bool Progress::init(){    cclayer::init();    CCSize winSize = CCDirector::sharedDirector()->getWinSize();    CCPoint center = ccp(winSize.wIDth / 2,winSize.height / 2);    CCSprite* bg = CCSprite::create("2.png");    CCSprite* sprite = CCSprite::create("1.png");    bg->setposition(center);    addChild(bg);    CCProgresstimer* progress = CCProgresstimer::create(sprite);    progress->setposition(center);    addChild(progress);    //设置进度条的模式    //kCCProgresstimerTypebar表示条形模式    progress->setType(kCCProgresstimerTypebar);    //设置进度条变化的方向    //ccp(0,1)表示沿着y轴变化    progress->setbarChangeRate(ccp(0,1));    //设置进度条的起始位置    //ccp(0,0)表示下面    progress->setMIDpoint(ccp(0,0));    //设置进度条的ID    progress->setTag(100);    //创建一个定时器    schedule(schedule_selector(Progress::scheduleFunc),0.1f);    return true;}voID Progress::scheduleFunc(float dt){    //通过进度条的ID得到进度条    CCProgresstimer* progress = (CCProgresstimer*)getChildByTag(100);   //设置progress的进度,每调用一次进度加一    progress->setPercentage(progress->getPercentage() + 1);         //当进度大于或者等于100时    if(progress->getPercentage() >= 100)    {          //终止定时器        unscheduleAllSelectors();    }}

执行结果:



程序实例:Progresstimer实现效果1

首先在工程目录下的Resource文件夹中添加两张图片





在Progress.cpp中添加下面的代码

#include "Progress.h"CCScene* Progress::scene(){    CCScene* scene = CCScene::create();    Progress* layer = Progress::create();    scene->addChild(layer);    return scene;}bool Progress::init(){    cclayer::init();        //设置背景颜色为白色    cclayercolor* layer = cclayercolor::create(ccc4(255,255));       addChild(layer);        CCSize winSize = CCDirector::sharedDirector()->getWinSize();    CCPoint center = ccp(winSize.wIDth / 2,winSize.height / 2);    CCSprite* bg = CCSprite::create("4.png");    CCSprite* sprite = CCSprite::create("3.png");    bg->setposition(center);    addChild(bg);    CCProgresstimer* progress = CCProgresstimer::create(sprite);    progress->setposition(center);    addChild(progress);    //设置进度条的ID    progress->setTag(100);    //创建一个定时器    schedule(schedule_selector(Progress::scheduleFunc),0.1f);    return true;}voID Progress::scheduleFunc(float dt){    //通过进度条的ID得到进度条    CCProgresstimer* progress = (CCProgresstimer*)getChildByTag(100);   //设置progress的进度,每调用一次进度加一    progress->setPercentage(progress->getPercentage() + 1);         //当进度大于或者等于100时    if(progress->getPercentage() >= 100)    {          //终止定时器        unscheduleAllSelectors();    }}


执行结果:



 总结

以上是内存溢出为你收集整理的Cocos2d-X中使用ProgressTimer实现一些简单的效果全部内容,希望文章能够帮你解决Cocos2d-X中使用ProgressTimer实现一些简单的效果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存