gpt4 book ai didi

ios - 我可以在没有 SKAction 的情况下在屏幕上移动节点吗?

转载 作者:行者123 更新时间:2023-11-28 19:51:03 25 4
gpt4 key购买 nike

我正在使用 SpriteKit 和 objective-c 开发 Android 游戏的 iPhone 版本。 Android 版本是使用 libGDX 开发的。每当调用预定义的渲染方法时,通过更新坐标值来完成屏幕上的移动。在阅读 SpriteKit 中的文档时,我发现这里的节点是通过使用 SKAction 在屏幕上移动的,其中给出了结束坐标和持续时间,并将 Action 应用于节点。这是移动节点的唯一方法吗?或者即使在将节点添加到父节点之后(无需在任何地方调用 SKAction),我也可以更新坐标(根据时间间隔在更新方法中)吗?

最佳答案

有几种方法可以使节点移动。

  1. 更改节点的坐标 myNode.position = CGPointMake(myNode.position.x+1, myNode.position.y); 会将节点向右移动。无论他们是否有物理 body ,这种方法都适用。

  2. 将速度应用于节点的物理体 myNode.physicsBody.velocity = CGVectorMake(100, myNode.physicsBody.velocity.dy); 将节点向右移动。您的节点需要一个物理体才能工作。

  3. 应用脉冲 [myNode.physicsBody applyImpulse:CGVectorMake(100, myNode.physicsBody.velocity.dy)]; 将节点向右移动。您的节点需要一个物理体才能工作。

  4. 施加力 [myNode.physicsBody applyForce:CGVectorMake(100, myNode.physicsBody.velocity.dy)]; 将节点向右移动。您的节点需要一个物理体才能工作。

当你施加力时,就像一直在插入的马达。如果你施加冲动,就像踢一次球一样。

在 SKPhysicsBody reference 中更详细地阅读每种方法.

关于ios - 我可以在没有 SKAction 的情况下在屏幕上移动节点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29204024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com