javascript - 如何使用drawtext在babylon JS动态纹理中插入换行符?

标签 javascript html three.js babylonjs

所以我有这样的演示:

http://jeromeetienne.github.io/threex.dynamictexture/examples/basic.html

来源: https://github.com/jeromeetienne/threex.dynamictexture/blob/master/examples/basic.html

一个盒子,每个表面都印有时间。 它是使用来自 Babylon JS 的动态纹理绘制文本子程序通过 THREEX 构建的(如果我是正确的)。

我想用额外的行来扩展此文本,例如:

<小时/>

时间:(换行符)

12点。

<小时/>

有谁知道如何用换行符扩展输入字符串? (还因为我的字符串长度最多可达 30 个字符或更多)。

我尝试过:

text = text.replace(/(?:\r\n|\r|\n)|\s/g, '<br>');

但是 html 像 <br>标签不起作用,其他换行元字符也同样如此。

下面我们可以看到字符串并不完全在表面上,只是被分解并中断到什么都没有。

i.stack.imgur.com/aXnGp.png

有什么建议吗?谢谢。

最佳答案

这与canvas 2d 的工作方式有关。您可能必须拆分字符串并渲染两行文本(意味着调用drawText两次)

关于javascript - 如何使用drawtext在babylon JS动态纹理中插入换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27524451/

相关文章:

javascript - 单击菜单选项时如何将导航栏推到顶部?

javascript - 在 Canvas 中绕原点旋转一个点

javascript - Threejs 从场景中删除所有对象

javascript 三个 OrbitControls : doubleclick Object

javascript - Bootstrap 4 工具提示脱离 div

javascript - 如何更新子元素中的 react 上下文

javascript - 尝试切换类,但我使用 Javascript 收到未定义的错误 'toggle'

javascript - 单击按钮播放淡入/淡出 slider

javascript - 文本框中的不同字体

javascript - 如何在 3 个 js 中依次使用 2 个不同的动画对 2 个对象进行动画处理?