您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx3.6实现打字效果

2015-08-08 16:57 169 查看
Label* laber = Label::create("", "Terminal", 20);
	this->addChild(laber);
	laber->setPosition(ccp(300,200));
	laber->setDimensions(300, 0);
	
	Vector<FiniteTimeAction*> m_vecAct;
	for (int i = 0; i <= (int)sText.length(); i++)
	{
		auto delay = DelayTime::create(0.3f);
		m_vecAct.pushBack(delay);
		std::string str = sText.substr(0, i);
		auto func = [laber, str]() throw() {laber->setString(str); };
		auto call = CallFunc::create(func);
		m_vecAct.pushBack((FiniteTimeAction*)call);
		
	}
	laber->runAction(Sequence::create(m_vecAct));


实现思路:每隔一段时间,label显示字符串的从0到当前位置的截断的子串(使用substr),即label是动作的执行者,每次只显示当前子串,然后延时,子串字符加1.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: