Unity 实现文字过长显示省略号

需求:假设有一行文字由于界面空间不足只能显示一部分,那么剩余部分需要被截断,并且显示出来的文字末尾需要添加省略号“…”。比如“一二三四五六七八九十”,最终显示出来的样子是“一二三四…”。

这个需求在 CSS 中倒是挺好实现的。(题外话:这只限于显示出来的文字只有一行的情况。多行的情况下还是没那么容易,除非采用 WebKit 的 CSS 扩展属性 -webkit-line-clamp,不考虑兼容 W3C 标准。)但是在 Unity 中则需要摸索一下。目前已知的有两种方案。

方案一:使用 TextMesh Pro

当前的 Unity 2018 已经集成了 TextMesh Pro 插件(未确认之前的 Unity 版本是否集成)。这个插件非常强大,自然也包含了文字溢出时显示省略号的功能。使用时只要将 TextMesh Pro UGUI 组件中的 Overflow 选项设为 Ellipsis 即可。这个插件甚至能够很自然地实现多行文本的省略号截断。

继续阅读Unity 实现文字过长显示省略号

EMwI更新:版本1.1 支持批量添加

使 WordPress 媒体库支持外链图片的 External Media without Import 插件自发布以来,就收到了好些用户的反馈。其中相当一部分用户希望插件可以支持批量添加的功能,也就是一次性可以添加多个 URL 。非常惭愧的是,虽然我大约一年前就收到了这样的建议,并且自己也觉得应该添加这个功能,但却一直没能抽出时间做这件事。两个月前本想利用自己睡前或是上学前的零碎时间一点点把代码给写了,但途中又因为各种事情中断了。

直到这几天终于把批量添加的功能实现并发布了出来。当前最新版本更新到1.1。该版本将原本只能输入一行的文本框( <input> )改成了可输入多行( <textarea> )。用户可在文本框中输入多条 URL,每条 URL 占一行。点击添加按钮就会一次性将文本框中的多条 URL 添加进媒体库中。

其实现在因为我个人网站的主机搬到了 Vultr,配置比以前好了不少,所以我自己已经(至少是暂时)用不上 External Media without Import 这个插件了。但是插件自发布以来陆续收到好些用户的肯定、期待和反馈,甚至连给我差评的都会跟我说声 sorry,并肯定我的想法。再加上插件在 WordPress 官方上的主页也显示插件有1000多个活跃安装。这些都是对我莫大的鼓励,也让我感到做好这个插件不仅仅是为了我自己。大家的反馈也让我有点找到了自身的价值。因此现在基本是怀着不愿辜负这批用户的心情继续改进着这款插件。

昨晚发布版本1.1之后,我就开始一条条地回复那些曾经提出希望支持批量添加功能的用户留言。然而有点让人难过的是,WordPress 官网上有的留言太旧,都被系统自动关闭,无法回复了。这让我感到更加惭愧。

不过只要还有用户在期待,我还是会继续维护改进这个插件的。这款插件还有很多可以改进的地方,除了批量添加的功能外,用户们也提出了不少其它问题。版本1.1发布之后可能也会有新的 bug。只要我能抽出可支配的业余时间,都会优先处理 External Media without Import 插件的问题的。希望我做的东西可以继续为大家带来价值。

小游戏01:一名普通上班族的故事

这是今年三月份的时候,我们公司的几个人利用各自零散的业余时间,在累计十几个小时内构思、设计并制作的一个小游戏,算是公司内部的一次 Game Jam 练习。因为是一款非常不正式的习作,所以肯定有很多不完善之处,还请多多海涵。原本是用 Unity 做的。最近我用 Cocos Creator 将它移植到了 Web 上。

这是一个对工作和老板满是嘲讽的小游戏(老板看后表示尴尬,哈哈哈)。玩家能做的所有操作就只是点击按钮。游戏画面左侧垂直的红色进度条代表主角的理智值(俗称 SAN 值)。根据理智值和玩家做的选择,游戏可能会导向不同的环节和结局。不到5分钟就能玩通所有结局。

请点击以下链接开始游戏。

桌面版          移动版

注意游戏有声音。不过似乎在部分 iOS 的手机上要点击游戏画面之后才会出声。在 Cocos 论坛上也有人遇到类似的问题,可能很难解决。

我们公司平常在商业项目之余,各人会根据自己的可支配时间,不定期地做一些小游戏。可能是合作做,也可能是一个人做。每个人都可以是策划、美术或程序。每款游戏的制作成本都尽量控制在一次 Game Jam 的范围内。大家在这个过程中可以尝试自己在游戏设计上的想法,以及学习未曾用过的技术。这也算是我们在商业项目之外对游戏设计与制作的探索,也是对自己的一种训练。

比如在《一名普通上班族的故事》这款小游戏中,我除了负责程序部分以外还贡献了一张素材——其中一个结局是我画的 😆 。在这个过程中,我也学习了一下 UGUI 的 Slider,也重新学习了锚点的使用。之前写的两篇博文《用UGUI Slider做血条时遇到的一个小问题》以及《Aspect Ratio Fitter 和 Image》就是在这个过程中学到的知识。当然,最近借着移植这个游戏的机会,也初次学着使用了 Cocos Creator。Cocos Creator 的确有自己的特色,不过和 Unity 也有很多相似的地方和共通的概念。感觉现在游戏引擎之间都越来越像了,UE4 的也是。

《一名普通上班族的故事》是我们公司内部 Game Jam 训练做的第一款小游戏,其实也是公司仅有的几个人第一次合作从头做一款游戏(尽管很小也很不正式)。从三月份至今其实已经做了有几款游戏了,但是目前只有这款移植到了 Web 上。我们希望能将这种训练长期坚持下去,不断积累自己在游戏设计与制作方面的经验和能力,有朝一日做出自己心目中理想的游戏。