很多项目都会有喇叭滚动播放消息的功能,这里做记录方便后来人查阅,节省开发时间。
原理很简单,就是使用定时器来操作ScrollView控件,下面直接上代码。
函数申明:
//----------喇叭---------------
void scheduleNotice(float t);
void setNotice(string strNotice);
string strMessage;
定时器的启动与关闭:
void LoginScene::onEnter()
{
log("----onEnter----");
schedule(schedule_selector(LoginScene::scheduleNotice), 0.01f);
//schedule(schedule_selector(LoginScene::scheduleNotice), 1.0f);
}
void LoginScene::onExit()
{
log("----onExit----");
this->unschedule(schedule_selector(LoginScene::scheduleNotice));
}
有的项目结构不同,定时器会没有启动,可以检查下类入口函数是否调用onEnter();函数。
如果类继承自CCLayer则调用CCLayer::onEnter();继承自CCNode则是CCNode::onEnter();
下面是2个函数的实现部分:
//----------喇叭---------------
void LoginScene::scheduleNotice(float t)
{
Widget* pNotice = static_cast<Widget *&