我有一個簡單的遊戲。你從一個球開始,然後反彈,直到你得到10分。當你達到10分時,會出現另一個球(以便到達下一個地標可以更快)。當達到20分時,出現三分球。我已經設置好了,但是我需要知道如何使用case
執行if
聲明。如果達到某個分數,請添加Sprite
這是我要實施的聲明。
if (score == 10) && secondball.parent == nil {
這是我到目前爲止有:
import SpriteKit
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
let ball = Ball()
ball.position = CGPoint(x:self.frame.midX, y:440)
addChild(ball)
ball.physicsBody = SKPhysicsBody(circleOfRadius: 90)
ball.physicsBody?.dynamic = true
ball.physicsBody?.allowsRotation = false
ball.physicsBody?.friction = 0
ball.physicsBody?.angularDamping = 0
ball.physicsBody?.linearDamping = 0
ball.physicsBody?.usesPreciseCollisionDetection = true
ball.physicsBody!.categoryBitMask = 0
override func update(currentTime: CFTimeInterval) {
if shouldUpdateTexture {
shouldUpdateTexture = false
switch score {
case 10...19: backgroundNode.texture = SKTexture(imageNamed: "orangebackground")
let secondball = Ball()
secondball.position = CGPoint(x:self.frame.midX * 1.65, y: 440)
addChild(secondball)
secondball.physicsBody = SKPhysicsBody(circleOfRadius: 90)
secondball.physicsBody?.dynamic = true
secondball.physicsBody?.allowsRotation = false
secondball.physicsBody?.friction = 0
secondball.physicsBody?.angularDamping = 0
secondball.physicsBody?.linearDamping = 0
secondball.physicsBody?.usesPreciseCollisionDetection = true
secondball.physicsBody!.categoryBitMask = 0
case 20...29: backgroundNode.texture = SKTexture(imageNamed: "yellowbackground")
let thirdball = Ball()
thirdball.position = CGPoint(x:self.frame.midX * 0.35, y:440)
addChild(thirdball)
thirdball.physicsBody = SKPhysicsBody(circleOfRadius: 90)
thirdball.physicsBody?.dynamic = true
thirdball.physicsBody?.allowsRotation = false
thirdball.physicsBody?.friction = 0
thirdball.physicsBody?.angularDamping = 0
thirdball.physicsBody?.linearDamping = 0
thirdball.physicsBody?.usesPreciseCollisionDetection = true
thirdball.physicsBody!.categoryBitMask = 0
case 30...39: backgroundNode.texture = SKTexture(imageNamed: "greenbackground")
case 40...49: backgroundNode.texture = SKTexture(imageNamed: "bluebackground")
case 50...59: backgroundNode.texture = SKTexture(imageNamed: "darkbluebackground")
if ball.parent != nil {
let ball = Ball()
ball.position = CGPoint(x:self.frame.midX, y:440)
addChild(ball)
ball.physicsBody = SKPhysicsBody(circleOfRadius: 90)
ball.physicsBody?.dynamic = true
ball.physicsBody?.allowsRotation = false
ball.physicsBody?.friction = 0
ball.physicsBody?.angularDamping = 0
ball.physicsBody?.linearDamping = 0
ball.physicsBody?.usesPreciseCollisionDetection = true
ball.physicsBody!.categoryBitMask = 0
}
的case:10...19
作品也是如此的case:20...29
,但case 50...59
我只想另一球露面,如果前一個是不存在。
如果您需要更多或更少的信息,請在下面評論。我會立即更新它。
------ UPDATE ---- 代碼運行良好,除非得分達到50以檢查球是否存在。
謝謝,喬丹。
哇,不僅你從最後一個問題中選出了最差的答案,你顯然沒有讀到正在發生的事情,並將它們兩個版本合併在一起,因爲守衛,UpdateUpTexture總是成立,所以如果後面的語句是無意義。失去防護 – Knight0fDragon
你需要清理這個代碼,目前它不可編譯。格式正確,以便人們可以閱讀和理解它。 – Knight0fDragon
@KnightOfDragon感謝您的建議。 –