首页 > 代码库 > Cocos-2dx学习笔记(五)调度
Cocos-2dx学习笔记(五)调度
在init方法中增加下边的代码,建议使用schedule函数,而不是scheduleUpdate函数,因为,后者默认是调用update函数,在如果有多个函数需要调度时,不是很灵活。
auto label = LabelTTF::create("Hello World", "Arial", 24); label->setTag(123); // position the label on the center of the screen label->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height - label->getContentSize().height)); label->setAnchorPoint(Vec2(1.0, 1.0)); // add the label as a child to this layer this->addChild(label, 1); // self-defined code auto sprite = Sprite::create("HelloWorld.png"); sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y)); this->addChild(sprite, 0); //this->scheduleUpdate(); this->schedule(schedule_selector(HelloWorld::update), 1.0f/60);
新加update方法,定时改变label的位置:
void HelloWorld::update(float dt){ auto label = this->getChildByTag(123); label->setPosition(label->getPosition() + Vec2(2, -2));}
在menuCloseCallback回调函数中增加以下代码,在关闭菜单的时候停止调度:
//unscheduleUpdate(); unschedule(schedule_selector(HelloWorld::update)); Director::getInstance()->end();
运行结果:
图1 运行结果
Cocos-2dx学习笔记(五)调度
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。