swift - 创建相同的脉冲测量

标签 swift vector sprite-kit gravity skphysicsbody

我注意到应用脉冲可能会有所不同,具体取决于您正在应用脉冲的节点是否已经在运动。举个例子,如果我有一个节点平放在另一个节点上,并且您应用 x: 400 的脉冲,则该节点可能会向上跳跃 200 px,但如果该节点处于类似下落的状态并且您应用相同的脉冲脉冲时,节点可能只会向上跳跃 50 px(我认为这是因为节点沿与脉冲方向相反的方向行进)。

我的问题是,是否有一种方法可以应用与其当前状态相关的脉冲,以便所有跳跃都相等?我知道“按 X 移动”可以做到这一点,但它实际上并没有与施加脉冲相同的效果。

最佳答案

节点上应用脉冲之前,首先将其当前速度设置为0,然后每次都可以应用静态脉冲。

node.physicsBody.velocity = CGVectorMake(0, 0);

关于swift - 创建相同的脉冲测量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32535601/

相关文章:

ios - Swift Ios App 性能配置

ios - UITextView 的视差效果使顶部的 UIImageView 在 Swift 中缩小并消失

vector 和字符串的 C++ 段错误

ios - 如何在加载数据后切换SpriteKit场景并确保GameCenter成功登录?

ios - 在 sprite-kit 场景中创建一个或多个引力点

ios - 从 Tableview 更新 Viewcontroller 中的标签文本

ios - UICollectionViewCell 有 2 个单元格,每个单元格的高度为 "wrap_content"

c++ - 无效的 std::vector 迭代器

c++ - 为什么 vector 被视为按值传递,即使它是通过 const 引用传递的?

swift - 在 Swift 中将动态 Int 变量从一个类传递到另一个类