1
ブロック1の終了位置に基づいて、自分のノード(ボール)が常に他のノードのブロック1より上にリセットされるようにします。しかし、私はそれをするのに役立つコードは考えられませんでした。 ball.position = block1 + 20という機能をつくろうと思っていたが、私はそれについてどう考えているのか分からない。助けてくれてありがとう!別のノードのランダム化位置に基づいてノードを移動する
コード:
func random() -> CGFloat {
return CGFloat(Float(arc4random())/0xFFFFFFFF)
}
func random(min: CGFloat, max: CGFloat) -> CGFloat {
return random() * (max - min) + min
}
func resetScene(){
let ball = childNode(withName: BallCategoryName) as! SKSpriteNode
ball.removeFromParent()
ball.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
ball.physicsBody?.collisionBitMask = BallCategory
ball.physicsBody?.collisionBitMask = BorderCategory | PaddleCategory
ball.zRotation = 0.0
addChild(ball)
let block1 = childNode(withName: Block1Name) as! SKSpriteNode
block1.removeFromParent()
let actualX = random(min:85, max: 300)
block1.position = CGPoint(x: actualX, y: 190)
addChild(block1)
//ball.position = CGPoint(x: , y:)
//This is the line i would like to change
canRestart = false
}