gpt4 book ai didi

ios - 停止 SKAction.applyForce

转载 作者:行者123 更新时间:2023-11-28 08:09:20 26 4
gpt4 key购买 nike

我有一个在屏幕上弹跳的球,当调用函数 touchesEnded 时球开始弹跳:

    override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches{

let location = touch.location(in: self)

let ballposition = CGVector.init(dx: location.x, dy: location.y - circle.position.y)

circle.run(SKAction.applyForce(ballposition, duration: 0.3), withKey: "move")


}}

但是,我有碰撞检测,所以当球击中一个名为 bottom 的节点时,我会收到通知

    if contact.bodyA.node?.name == "Bottom" && contact.bodyB.node?.name == "circle" {
circle.removeAction(forKey: "move")
print("Hit")

}
}

ball在代码中被命名为circle

我希望 Action SKAction.applyForce 在碰撞发生时停止我得到“命中”这个词,这意味着检测工作正常但是circle.removeAction(forKey:“移动”)不起作用,我知道为什么。

我也尝试了 circle.removeAllActions()

最佳答案

SKAction.applyForce 方法只对物理体施加力。移除 key 将停止施加力,但不会移除当前效果。要停止 body ,您可以改变 body 的速度矢量:

 circle.physicsBody?.velocity = CGVector.zero

关于ios - 停止 SKAction.applyForce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44107654/

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