如何制作一个不断匀速运动的SCNNode?
Posted
技术标签:
【中文标题】如何制作一个不断匀速运动的SCNNode?【英文标题】:How to make a SCNNode that is constantly moving at a constant speed? 【发布时间】:2018-03-31 03:52:13 【问题描述】:我正在使用 Swift Playgrounds 制作一个项目,并且我有一个 SCNPyramid,我希望它以恒定的速度不断移动。我该怎么做?
【问题讨论】:
欢迎来到 SO。请展示你做了什么/到目前为止你做了什么。 【参考方案1】:您可以使用SCNAction
以恒定速度移动您的node
,请查看以下代码以在X-axis
、Y-axis
和Z-axis
中移动您的节点。
// Move your node in X-axis
func moveInXaxis()
let moveAction = SCNAction.moveBy(x: 2, y: 0, z: 0, duration: 1)
pyramidNode?.runAction(moveAction, completionHandler:
if ShouldContinuteToMoveInXaxis // Configure your `Bool` to check whether to continue to move your node or not.
self.moveInXaxis()
)
// Move your node in Y-axis
func moveInYaxis()
let moveAction = SCNAction.moveBy(x: 0, y: 2, z: 0, duration: 1)
pyramidNode?.runAction(moveAction, completionHandler:
if ShouldContinuteToMoveInYaxis // Configure your `Bool` to check whether to continue to move your node or not.
self.moveInYaxis()
)
// Move your node in Z-axis
func moveInZaxis()
let moveAction = SCNAction.moveBy(x: 0, y: 0, z: 2, duration: 1)
pyramidNode?.runAction(moveAction, completionHandler:
if ShouldContinuteToMoveInZaxis // Configure your `Bool` to check whether to continue to move your node or not.
self.moveInZaxis()
)
谢谢。
【讨论】:
以上是关于如何制作一个不断匀速运动的SCNNode?的主要内容,如果未能解决你的问题,请参考以下文章
SceneKit - 在另一个 SCNNode 上添加 SCNNode