だから私はこの戦術/パズルゲームにロックマンエグゼに似たタイルシステムを実装しようとしています。ただし、スワイプジェスチャでスプライトを目的の距離に移動することができないようです。
代わりに、ジェスチャによってスプライトがビューの左下に移動します。そのコーナーでは、ジェスチャーはまだ構成されたとおりに動作していないようです。
スプライトが左下に移動するのはなぜですか?
コードは次のとおりです。
class GameScene: SKScene {
var mageNodeOne: Mage?
//Swipe gesture handlers
func swipedRight(sender:UISwipeGestureRecognizer) {
mageNodeOne!.position = CGPointMake(self.position.x + 115, self.position.y)
println("swiped right")
}
func swipedLeft(sender:UISwipeGestureRecognizer) {
mageNodeOne!.position = CGPointMake(self.position.x - 115, self.position.y)
println("swiped left")
}
func swipedUp(sender:UISwipeGestureRecognizer) {
mageNodeOne!.position = CGPointMake(self.position.x, self.position.y + 220)
println("swiped up")
}
func swipedDown(sender:UISwipeGestureRecognizer) {
mageNodeOne!.position = CGPointMake(self.position.x, self.position.y - 220)
println("swiped down")
}
//Scene Setup
override func didMoveToView(view: SKView) {
// Add gesture recognizers to view
let swipeRight:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedRight:"))
swipeRight.direction = .Right
view.addGestureRecognizer(swipeRight)
let swipeLeft:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedLeft:"))
swipeLeft.direction = .Left
view.addGestureRecognizer(swipeLeft)
let swipeUp:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp:"))
swipeUp.direction = .Up
view.addGestureRecognizer(swipeUp)
let swipeDown:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedDown:"))
swipeDown.direction = .Down
view.addGestureRecognizer(swipeDown)
// Add tiles to view
var tileSpacerOne = SKSpriteNode(imageNamed: "TileSpacer")
tileSpacerOne.position = CGPoint(x: 508, y: 388)
tileSpacerOne.zPosition = -1
self.addChild(tileSpacerOne)
var tileOne = SKSpriteNode(imageNamed: "TileExampleOne")
tileOne.position = CGPoint(x: 350, y: 608)
self.addChild(tileOne)
var tileTwo = SKSpriteNode(imageNamed: "TileExampleOne")
tileTwo.position = CGPoint(x: 350, y: 388)
self.addChild(tileTwo)
var tileThree = SKSpriteNode(imageNamed: "TileExampleOne")
tileThree.position = CGPoint(x: 350, y: 168)
self.addChild(tileThree)
var tileFour = SKSpriteNode(imageNamed: "TileExampleOne")
tileFour.position = CGPoint(x: 665, y: 608)
self.addChild(tileFour)
var tileFive = SKSpriteNode(imageNamed: "TileExampleOne")
tileFive.position = CGPoint(x: 665, y: 388)
self.addChild(tileFive)
var tileSix = SKSpriteNode(imageNamed: "TileExampleOne")
tileSix.position = CGPoint(x: 665, y: 168)
self.addChild(tileSix)
// Add mage to view
mageNodeOne = Mage(imageNamed: "MageOne")
mageNodeOne!.position = CGPointMake(667,475.5)
addChild(mageNodeOne!)
}
スプライトを現在の場所self
+115ではなく+115の場所に移動するのはなぜですかmageNodeOne's
。
例:
CGPointMake(self.position.x + 115, self.position.y)
する必要があります
CGPointMake(mageNodeOne.position.x + 115, mageNodeOne.position.y)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加