gpt4 book ai didi

ios - 为什么 SpriteKit 中的 Sprite 不会从墙上反弹

转载 作者:行者123 更新时间:2023-11-30 12:05:41 25 4
gpt4 key购买 nike

我的屏幕上有一个球和边界。我现在只是在测试物理特性,我希望球能够在屏幕上连续弹跳而不会减慢速度。

let b = self.ball?.copy() as! SKShapeNode?

if b != nil {
ball!.position = CGPoint(x: CGFloat.random(min: -(self.frame.size.width/2), max: self.frame.size.width/2), y: CGFloat.random(min: -(self.frame.size.height/2), max: (self.frame.size.height/2)))

b?.physicsBody?.linearDamping = 0
b?.physicsBody?.restitution = 1
b?.physicsBody?.angularDamping = 0
b?.physicsBody?.friction = 0

self.addChild(b!)

b?.physicsBody?.applyImpulse(CGVector(dx: 1000, dy: 50))
}

边界功能正常,但球会在屏幕上弹跳一小段时间,然后会撞到边缘并失去 y 动量,只会在 x 方向上来回移动。

我尝试将最后一行更改为

b?.physicsBody?.velocity = CGVector(dx: 1000, dy: 50)

但它做同样的事情。边界上的恢复也设置为 1。

最佳答案

将墙壁的摩擦力设置为0

wall.physicsBody?.friction = 0

同时将重力设置为零

self.physicsWorld.gravity = CGVector(dx: 0.0, dy: 0.0)

关于ios - 为什么 SpriteKit 中的 Sprite 不会从墙上反弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703765/

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