【游戏客户端】实现剧情对话效果

【游戏客户端】实现剧情对话效果

      之前的博客中,我和大家分享了如何做:

      今天和大家分享一下如何制作剧情对话效果,游戏中常见的对话方式有两种。

(一)常见的剧情对话

(1)第一种是直出型的:

      这样的实现起来比较快而且便捷,所有文案一下子就出现了

(2)第二种是渐出型的:

      这种实现方式就像我们码字一样,一个个蹦出来,虽然它效率和实现上没有第一种那么好。但是从沉浸感来说,无疑第二种更会让我们专注于文案内容。今天就讲讲第二种的实现

(二)渐出型的剧情对话实现方式

      这种效果看起来很牛掰,但是其实实现原理也很简单:

(1)分割字符串

      一般来说剧情的对话文案都是由策划配表,或者是自己在代码写死的。但是无论是哪一种,我们第一步要做的都是分割字符串,目的就是让文字“一个个”的出现

      至于如何分割,在Lua5.3之前我们可以选择string.byte来读取首字节的大小,然后根据UTF-8的编码规则,拿到这个“字”的字节长度,然后再去递归切割。之前我有文章记录这个过程

   【分割中英文字符串】

      在lua5.3之后我们可以

      来读取每个字符的unicode编码来直接判断长度从而进行分割

(2)设置计时器逐帧加上字符

      分割完之后剩下的事情就简单了,只需要设置一个schedule来逐帧把刚才读取到的文案做一个字符串拼接,然后setText进去就行了

(3)更炫酷的效果

      当我以为大功告成的时候,好家伙被我发现一个更炫酷的效果,这个“获得贵重品”居然还带滚出来的,这种做法的话应该就不能用一个文字的控件去实现了,而是应该在我们遍历分割字符串的时候,每分割出一个文案就生成一个文本控件

      全部生成完之后,用一个spwan把滚动RotateTo,和移动MoveTo给同时进行,然后不同的文案执行的时间不同(具体的时间通过控件的宽度和MoveTo的速度决定),就可以实现上面的效果了

好啦今天就到这里
点赞,关注!!!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值