【爱上cocos2d-x之十四】每一帧都调用,scheduleUpdate和update

本文介绍了如何在cocos2d-x中利用scheduleUpdate和update方法来实现每秒钟执行一次特定函数的需求。通过调用this->scheduleUpdate(),可以在每一帧都触发update函数,并且update函数的dt参数可以获取两次调用之间的间隔秒数。
摘要由CSDN通过智能技术生成

假设我们面临一个需求:每隔一秒钟执行一次函数。不知各位看官会想怎么实现呢?我们可以利用cocos2d-x提供的schedule来解决。

我们新建一个项目为HelloSchedule,将HelloWorldScene的init函数的多余代码删除,然后改成如下几行代码:

bool HelloWorld::init()
{
    if ( !CCLayer::init() )
    {
        return false;
    }
    
	this->scheduleUpdate();

    return true;
}

还要记得在头文件中加入update函数的声明

class HelloWorld : public cocos2d::CCLayer
{
public:
    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
    virtual bool init();  

    // there's no 'id' in cpp, so we recommend returning the class instance pointer
    static cocos2d::CCScene* scene();
      
    // implement the "static node()" method manually
    CREATE_FUNC(HelloWorld);

	/* 重写update函数 */
	virtual void  update(float dt);

};

然后在cpp文件中来具体实现这个
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值