私は単純なSpriteKit
ゲームを作成しようとしています。私は画面の下部中央から始まるプレーヤーを持っています。 私のGameScene
にカメラを追加しましたが、それは動作しません。私はこのコードでそれを実行すると:SKCameraNode working weird
class GameScene: SKScene {
let mPlayer = Player(circleOfRadius: 45, fillColor: myColors.blue, strokeColor: myColors.red)
let cameraNode = SKCameraNode()
override func didMove(to view: SKView) {
setup()
}
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
moveCamera()
Player.movePlayerUp(mPlayer: mPlayer)
}
func setup(){
mPlayer.position = CGPoint(x: self.frame.midX - PLAYER_WIDTH, y: self.frame.minY + PLAYER_HEIGHT)
self.camera?.position = mPlayer.position
self.camera = cameraNode
self.addChild(cameraNode)
self.addChild(mPlayer)
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches{
let location = touch.location(in: self)
mPlayer.run(SKAction.moveTo(x: location.x, duration: 0.1))
}
}
func moveCamera(){
let moveAction = SKAction.moveTo(y: mPlayer.position.y, duration: 0.1)
cameraNode.run(moveAction)
}
}
プレイヤーは下から始まるとすぐに、この絵のように、画面の中央に移動されています。私はカメラが従うことを行うことができますどのよう
最初からプレイヤーを選んでトップに移動しますか? 私の質問がはっきりしていて、画像のサイズが残念であることを願っています。
を助け、私はあなたのコードを追加しようとしましたが、何も違うように見えるん。カメラが動いている場合、プレーヤーが上に移動すると、背景がゆっくりと底から「消える」のはなぜですか? – swiftnewbie
それは私のために働いています。私はあなたのコードを新しいゲームプロジェクトにコピーし、ちょうど背景にいくつかのストライプを追加し、移動方法を変更しました。すべて正常に動作します。あなたの背景はイメージですか、またはシーンの背景色を設定しましたか? – crashoverride777
背景色です。それはうまくいくように見えますが、プレイヤーが上がるにつれて画面の下部が「消える」ことを望みます。 – swiftnewbie