2015-10-05 94 views
0

所以作爲一個想法的一部分,我有一個有趣的小遊戲,我需要一箇中間的對象(縱向視圖),當我觸摸屏幕左側並向右旋轉時向左旋轉我觸摸屏幕的右側。基於觸摸事件旋轉對象

這就是字面意思。

但我想用swift而不是objective-C ...我發現的所有教程都是針對obj-c的,因此我不明白如何將編碼實現到GameScene.swift文件中。

在此先感謝!

回答

0

我想這應該是SpriteKit。因此,你需要:

1)在你的屏幕

2)的中心增加一個SpriteNode確定觸摸位置

3),如果frame.size.width>或<上的x軸上該位置你的觸摸,所以你需要通過你創建的SpriteNode運行一些動畫。

所以這很容易,但你需要編寫一些代碼來獲得更詳細的幫助。

+0

謝謝!我想我現在就開始吧!歡呼雖然 –

+0

如果我是正確的請標記我的答案是正確的 –

+0

對不起,已經完成! :) –

2

Wm.p1us說的是正確的,這裏是他建議的代碼。

var myImage: SKSpriteNode! 

    class GameScene: SKScene { 
     override func didMoveToView(view: SKView) { 

      anchorPoint = CGPointMake(0.5, 0.5) 

      myImage = SKSpriteNode(imageNamed: "myImage") 
      addChild(myImage) 

    } 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 

      let touch = touches.first as UITouch! 
      let location = touch.locationInView(self.view) 

      myImage.removeAllActions() 

      if location.x < frame.size.width/2 { 
       // left hand side touched, rotate left 

       let rotateLeft = SKAction.rotateByAngle(CGFloat(M_PI)*2, duration: 1) 
       myImage.runAction(SKAction.repeatActionForever(rotateLeft)) 

      } else { 
       // right hand side touched, rotate right 

       let rotateRight = SKAction.rotateByAngle(-CGFloat(M_PI)*2, duration: 1) 
       myImage.runAction(SKAction.repeatActionForever(rotateRight)) 

      } 

     } 
    }