AS3 用图像字符替换字符串/文本

Posted

技术标签:

【中文标题】AS3 用图像字符替换字符串/文本【英文标题】:AS3 replace string/text with image characters 【发布时间】:2014-04-18 01:30:45 【问题描述】:

我正在用 AS3 开发一个简单游戏的代码,我拥有设计师制作的所有图形资源。

他希望所有文字信息(即胜利、失败、生命等)都完全按照原始 Photoshop 绘图中的方式完成,它们上有很多视觉效果。

由于游戏中的这些消息是动态的,我尝试使用普通文本字段并使用 Flash 过滤器复制视觉效果,但结果甚至无法比较。

我想我可以尝试从 photoshop 导出一个包含所有图像字符或单个图像字符的 spritesheet,并用 sprites/movieclips 替换我的旧文本字段,我将在其中加载特定的图像字符我需要向最终用户显示的字符串,但我不知道该怎么做。

是否有人对如何实现此结果有一些提示?更好地使用单独的类和图像库?我在网上搜索了一下,希望能找到一些类似的类或方法来根据我的需要进行一些定制,但不幸的是我什么也没找到!

【问题讨论】:

【参考方案1】:

您可以将所有图形添加到库中,并以每个名称导出它们。

而不是在需要创建 MC 时调用他们。如果有用,您可以将名称存储在一个数组中并使用它来简化您的脚本(这取决于使用情况)

【讨论】:

或者,如果您愿意,可以将它们作为 png 存储在项目之外,并在需要时加载它们。我不建议在正确的坐标处使用单个图像进行遮罩,以使工作变得混乱而没有任何优势。 我还考虑将它们添加到带有链接名称的库中,我更喜欢这种方法而不是多次加载调用...我只是想知道你们是否可以指出一些预先存在的类我可以根据我的工作。通常,当我可以重用代码时,我会更快乐,因为我不是一个真正优秀的程序员,而由真实程序员编写的类通常比我从头创建的代码更有条理和优化:)【参考方案2】:

好的,经过更多研究,我发现我的主要问题是找不到问题的答案是我使用的研究术语。 我错误地寻找“用图像替换 AS3 字符串”或“用 Flash 中的图像替换文本”,而正确的问题是:“如何在 AS3 中使用 BITMAP FONT”。 我确信其他人必须做我想做的事情(比如在文本都是图像精灵的旧游戏中),但我不知道如何找到它!

所以,这是我找到的解决方案,我仍然需要改进工作流程,但这是一个很好的起点:

    结合使用 SHOEBOX 工具和 photoshop 创建自定义 Bitmamp 字体,您可以在其中应用所需的所有光栅效果(教程如下:http://renderhjs.net/shoebox/bitmapFont.htm) 您将获得一个 .fnt 文件(描述符)和一个 .png 图像(字体字符图集) 您需要垂直翻转 png 图像:显然,很多位图文本引擎都使用翻转字符,我发现这个引擎也是这样工作的 拥有这些文件后,使用 BMFontRenderer AS3 类将位图字体嵌入到您选择的 AS3 项目中(此处为教程:http://blog.bengarney.com/2011/12/07/fast-bitmap-fonts-in-flash/)

我希望它对可能需要将 Flash 中的标准文本替换为字体图像的其他人有用。

【讨论】:

以上是关于AS3 用图像字符替换字符串/文本的主要内容,如果未能解决你的问题,请参考以下文章

替换的 InnerHtml 显示为字符串

用字符串中的图像替换字符,然后设置为 Textview

如何用BAT替换文本的字符串?

awk用法之:文本替换

无法用java替换html字符串中的某些文本

使用gsub(),如何在替换字符串中引用被替换字符串?