加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx3.6实现打字效果

发布时间:2020-12-14 16:23:40 所属栏目:百科 来源:网络整理
导读:Label* laber = Label::create("","Terminal",20);this-addChild(laber);laber-setPosition(ccp(300,200));laber-setDimensions(300,0);VectorFiniteTimeAction* m_vecAct;for (int i = 0; i = (int)sText.length(); i++){auto delay = DelayTime::create(0.


	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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读