gpt4 book ai didi

ios - 将一个 Sprite 保留在屏幕内,但让其他 Sprite 离开

转载 作者:行者123 更新时间:2023-11-30 13:38:39 25 4
gpt4 key购买 nike

我正在制作一款游戏,用户可以移动宇宙飞船并发射子弹。我想让用户无法将宇宙飞船移出屏幕,但是当子弹发射时,他们可以离开屏幕。我怎样才能做到这一点?我在下面附上了一张截图。

 override func didMoveToView(view: SKView) {



let borderBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
self.physicsBody = borderBody
borderBody.friction = 0
borderBody.restitution = 0

Bullet.hidden = true


buttonDirUp.position = CGPoint(x: -200, y: -50)
buttonDirUp.setScale(2.0)
self.addChild(buttonDirUp)

ship.setScale(0.33)
shootButton.setScale(0.7)

buttonDirLeft.position = CGPoint(x: -250, y: -100)
buttonDirLeft.setScale(2.0)
self.addChild(buttonDirLeft)

buttonDirDown.position = CGPoint(x: -200, y: -150)
buttonDirDown.setScale(2.0)
self.addChild(buttonDirDown)

buttonDirRight.position = CGPoint(x: -150, y: -100)
buttonDirRight.setScale(2.0)
self.addChild(buttonDirRight)

self.view?.multipleTouchEnabled = true

self.backgroundColor = SKColor.blackColor()

self.anchorPoint = CGPointMake(0.5, 0.5)

self.addChild(base)
base.position = CGPointMake(200, -100)

self.addChild(ball)
ball.position = base.position

self.addChild(ship)
ship.position = CGPoint(x: self.frame.midX, y: self.frame.midY)

self.addChild(shootButton)
shootButton.position = CGPoint(x: self.frame.midX, y: -100)

ball.zPosition = 1
base.zPosition = 0

ball.alpha = 0.4
shootButton.alpha = 0.4
base.alpha = 0.4
buttonDirRight.alpha = 0.4
buttonDirLeft.alpha = 0.4
buttonDirUp.alpha = 0.4
buttonDirDown.alpha = 0.4

}

Screenshot

最佳答案

您只需在 View 周边设置节点,然后使用 spaceship 的碰撞位掩码并将其设置为等于您为周边建立的所有节点。

spaceShip.physicsBody?.collisionBitMask = PhysicsCategory.firstNode | PhysicsCategory.secondNode | PhysicsCategory.thirdNode | PhysicsCategory.fourthNode

关于ios - 将一个 Sprite 保留在屏幕内,但让其他 Sprite 离开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35820756/

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