如何在实例化中将子实体居中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在实例化中将子实体居中相关的知识,希望对你有一定的参考价值。

我已经为我在this glitch遇到的问题设置了一个测试用例。

基本上,在每次点击时,我试图创建一个球体,其中文本几何子,其中文本以球体为中心,即“X标记斑点”。

发生的事情是我第一次点击,文本是朝向的,所以左下角与球体对齐。

我尝试使用geometry.center()来解决这个问题,但似乎没有可用的边界框。

我有设置在组件中,加载时和object3dset时,但这些都不起作用。

如果我再次单击并使用getElementById()来获取现有的文本几何体,那么调用geometry.center()它实际上是居中的。

我的预感是,由于某种原因,我无法辨别,边界框直到稍后才创建,但我无法找到什么时候。

任何洞察我如何只需点击一下即可实现这一目标,这将是非常好的,谢谢。

编辑:我应该注意到,我发现使用setTimeout(如故障中注释掉的)将导致它工作,所以它肯定是一个问题,当事情发生时,但这不是一个很好的解决方案。

答案

我尝试使用geometry.center()来解决这个问题,但似乎没有可用的边界框。

运行geometry.computeBoundingBox()

另一答案

当你说球体居中时,我并不完全清楚你想要放置文本的确切位置,但是假设你正在设置球体的半径,那么无论边界如何,你都可以准确地知道球体边界的位置例如,框计算和a文本组件具有允许您将文本居中并对齐到顶部和底部的参数;例如,您可以使用zOffset参数来防止文本在球体内部。对于任意形状,您可能需要等待生成形状几何体并使边界框可用。

以上是关于如何在实例化中将子实体居中的主要内容,如果未能解决你的问题,请参考以下文章

CSS代码片段

CSS代码片段

创建片段而不从 java 代码实例化它

如何在一行代码中将多个子视图添加到我的 iOS 视图中? (也许通过“monkeypatching”一个 `addSubviews` 实例方法到 UIView?)

UIScrollView - 添加子视图,使其水平和垂直居中

在 Python 多处理进程中运行较慢的 OpenCV 代码片段