【发布时间】:2017-02-24 11:21:45
【问题描述】:
我想通过仿真呈现自定义显示。像弹球机的点阵显示器一样思考。
我将如何有效地解决这个问题? (考虑实际写入大小可能会运行得太慢的纹理)
必须有一种很好的方法来渲染它,但我很难找到一种实际上也能正常执行的方法。
【问题讨论】:
我想通过仿真呈现自定义显示。像弹球机的点阵显示器一样思考。
我将如何有效地解决这个问题? (考虑实际写入大小可能会运行得太慢的纹理)
必须有一种很好的方法来渲染它,但我很难找到一种实际上也能正常执行的方法。
【问题讨论】:
有很多选项可以做到这一点,但没有更多细节(DMD 屏幕分辨率、颜色数量、动画与否等)很难提供帮助。这里有一堆选项突然出现在我的脑海中,希望你正在寻找的选项在这里的某个地方:)
1) 有一个类似的问题,你可以找到它答案here
2) 如果您只想显示文本,有很多网站免费提供 DMD 字体,例如here
3) 您还可以编辑/扩展您下载的字体集并将“特殊字符”显示为图形,或者仅使用标准 ASCII table这足以满足您的需求。例如▓ █ ╔ ═ ╗ 和类似的“绘图字符”
您可以找到灵感和 ASCII 艺术(包括动画艺术),例如here
4) 可能会很慢(同样,“取决于”),但您可以使用位图和 .SetPixel<strong>s</strong> 以及 Texture2D 和 DrawTexture
5) 有点“hacky”,但您可以将动画阶段保存到位图数据/数组(例如只读/常量变量,或以托管方式从磁盘读取) ,或借助商店中的免费资产(如this one here 等)进行绘制,然后执行Graphics.DrawTexture
6) 如果您要显示的内容是 100% 静态的(即,它不是像分数这样的实际数据,而是像“TILT”文本等“硬编码”动画),您可以创建一个Sprite Animation
7) 您可以混合使用上述内容,例如使用字体 (#2) 在画布上显示动态数据,并在其周围播放静态动画,使其看起来像是动态的
嗯。这一切都在我的脑海中:)
希望这会有所帮助!
【讨论】: