gamemaker吧 关注:13,603贴子:94,740
  • 6回复贴,共1

gms2 富文本动效打字机实现

只看楼主收藏回复

这是一个附带动态效果的富文本打字机,不过说是富文本,实际也就实现了改变颜色,字体、大小、透明度、调整对齐方式等功能(顺带一提,字体大小也是通过改变字体实现的,实在不知道怎么通过代码该字体大小,有知道的老哥望告知~)
动效实现了可调整抖动幅度的同步/异步抖动,以及可调整波幅、波长、波速的波函数浮动。另外实现了文本自动换行、自适应行间距、英文拆词、超长英文词汇短横杆连接拆分、前引号不出现在行尾,符号不出现在行首等文本格式功能。
(话说隔壁godot吧,关注比这里少一大半但是都挺热闹的,为啥这吧这么冷清。我是不是选错引擎了啊,都用了一个多月了,现在转行还来得及吗)
回归正题,先上效果图:

自动换行及自适应行高

调整对齐方式

预览图

实现方式及代码放二楼


IP属地:四川1楼2024-04-27 10:15回复
    实现思路:为了避免打字机会出现的各种格式及文字排版的问题,我把这个效果分成了两个部分——一个文本构建器,一个打字机。文本构建器负责换行、高度控制、分词拆词、以及标点符号等特殊处理;打字机只需根据文本构建器处理好的标准化文本,逐字打印即可。这样一来不仅避免了打字机会出现的各种问题,还能让逻辑代码不至于太冗长。
    以下代码(我觉得应该没必要一行一行的解释吧,如果有人需要我再补充好了):
    · 文本构造器

    · 打字机

    · 测试代码


    IP属地:四川3楼2024-04-27 13:07
    回复
      这不是之前那个帖子,咱说的那些咱知道的文本框里可能需要的各种功能嘛,居然全做出来了。
      加个精先。
      对了,代码截图最好把行号一起截上噢,如果有人想讨论的话,直接说哪段的第几行会比较容易定位。


      IP属地:北京4楼2024-04-27 13:38
      收起回复


        IP属地:广东来自Android客户端5楼2024-04-27 22:42
        回复


          IP属地:北京来自Android客户端6楼2024-04-30 00:06
          回复
            个人感觉gms比go好用,这种东西没必要看热度,自己觉得好用就行了,go能做的不见得gms做不出来


            IP属地:河南来自Android客户端7楼2024-06-06 16:17
            回复