打字机的效果,一般出现在对话和游戏的剧情介绍中(现在已经很少用了,有几个人一个字一个字的看剧情呀)。
这里有两种方案实现了打字机的效果。一种是使用系统字体,一种是使用TTF字体。下面一一介绍。
1.使用LabelTTF实现。
在cocos3.x中Label有了新的API,新的Label将每个字符作为一个Letter来存储。通过getLetter(int index)方法得到。得到的Letter实际上是一个个精灵(Sprite)。
要实现打字机的效果,可以先将Label中的所有Letter设置为不可见(setVisible),然后,一个一个的设置为可见,那么,最终的效果就是打字机的效果了。
上代码:
Label * l = Label ::createWithTTF ( StringRes:: getText ("print_text" ), "ygyxsziti2.0.ttf" , 20 );
addChild (l );
l ->setPosition ( Vec2( 400 , 240 ));
int index = 0 ;
while ( l ->getLetter ( index) != nullptr )
{
l ->getLetter ( index)-> setVisible (false );
index ++;
}
int s =