3

所以我在我的 SCN 场景中放置了一个 3D 文本节点,我想稍后在我的应用程序中更改 Text 属性的值

SceneKit 检查器

在此处输入图像描述

以上是我如何从检查器更改文本的值,但有没有办法以编程方式进行?谢谢你

4

3 回答 3

5

当您从 Xcode 中的对象库中实例化一个“3D 文本”对象时,您得到的是SCNNode一个SCNTextgeometry.

if let textGeometry = textNode.geometry as? SCNText {
    textGeometry.string = "something"
}
于 2017-08-09T10:05:46.397 回答
0

这对我有用。假设您在界面生成器中添加了一个 3D 文本节点,并且它在节点层次结构中称为“CountDownText”。

在相关的视图控制器中,我有两个属性:

var countDownText: SCNNode!
var theCountDownText: SCNText!

稍后,将界面生成器中的节点绑定到代码(在设置节点函数中):

countDownText = scnScene.rootNode.childNode(withName: "CountDownText", recursively: true)
theCountDownText = countDownText.geometry as! SCNText

任何时候你想改变那个节点的显示文本,你可以这样做:

theCountDownText.string = "text"
于 2018-01-09T19:34:14.173 回答
0

因此,如果您已将文本节点与游戏场景相关联,则可以通过编程方式执行以下操作:

textNode.geometry.string = "your string"

它应该工作!

于 2017-08-09T02:51:40.763 回答