Ich kann nicht scheinen, dies herauszufinden. Ich habe viele verschiedene Dinge ausprobiert und keiner von ihnen scheint zu funktionieren. Mit meinem aktuellen Code stehen die Kamera und der Held nie in einer Reihe und die Szene scheint ziemlich weit zu springen, wenn ich den Bildschirm berühre. Ich möchte nur, wenn ich den Bildschirm berühre, den Helden zum Berührungspunkt bewegen und die Kamera ihm folgen lassen. Gibt es eine Möglichkeit, die Kamera an den Helden-Spritenode anzuschließen?Bekommen SKCameraNode, um einem Helden zu folgen Spritenode
import SpriteKit
let tileMap = JSTileMap(named: "level2.tmx")
let hero = SKSpriteNode(imageNamed: "hero")
let theCamera: SKCameraNode = SKCameraNode()
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
self.anchorPoint = CGPoint(x: 0, y: 0)
self.position = CGPoint(x: 0, y: 0)
hero.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
hero.xScale = 0.5
hero.yScale = 0.5
hero.zPosition = 2
tileMap.zPosition = 1
tileMap.position = CGPoint(x: 0, y: 0)
self.addChild(tileMap)
self.addChild(hero)
self.addChild(theCamera)
self.camera = theCamera
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
for touch in touches {
let location = touch.locationInNode(self)
let action = SKAction.moveTo(location, duration: 1)
hero.runAction(action)
}
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
self.camera?.position = hero.position
}
}
Sie meinen Sie, wenn Sie den Bildschirm berühren bewegt sich der 'Held' an die Stelle, an der Sie ihn berührt haben, und die' Kamera' folgt dem 'Helden'. Als Ergebnis erscheint der "Held" jetzt immer noch in der Mitte des Bildschirms? – WangYudong
Ja, genau das meine ich. – Bill