如何解决SpriteNode墙不显示,其他节点穿过它 迅速
我想在屏幕周围添加墙壁,以使任何physicsBody
都会被容纳并在手机倾斜时从墙壁反弹。我在场景本身上添加了SKPhysicsBody
。但是,MovingCard
仍然会通过并消失在屏幕外。
在将self.scalemode
更改为.resizefill
以外的其他任何内容(例如.aspectFit
)时,似乎会阻塞该对象,并且不会显示MovingCard
。请帮助我了解如何解决此问题。预先感谢。
这是代码:
import SpriteKit
class StartTrick: SKScene {
let PP = PerformanceReady()
override func didMove(to view: SKView){
AddWalls()
FoldedCardAppear()
}
func FoldedCardAppear() {
let MovingCard = SKSpriteNode(imageNamed: "Folded Bicycle Card")
MovingCard.size.width = 295
let W = MovingCard.size.width
MovingCard.size.height = W * 1.21 // height in ratio to the width
let H = MovingCard.size.height
MovingCard.position = CGPoint (x: PP.ScreenHalfW(),y: PP.ScreenHalfH()) // Set to centre
MovingCard.physicsBody = SKPhysicsBody (rectangleOf: CGSize (width: W,height: H))
MovingCard.physicsBody?.allowsRotation = false
addChild(MovingCard)
}
func AddWalls() {
self.backgroundColor = .black
self.physicsBody = SKPhysicsBody(edgeLoopFrom: self.frame)
self.scaleMode = .resizefill
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。