2016-06-20 9 views
1

ボタンを作成したいのですが、ボタンを押すと、プレーヤーの色がボタンの同じ色に変わります。色を取得するにはボタンを押してプレーヤーの色を変更する方法は?

class GameScene: SKScene, SKPhysicsContactDelegate { 

    var circuloPrincipal = SKSpriteNode(imageNamed: "circulo") 

    var colorVerde: UIColor = UIColor(red: 0.3, green: 0.7, blue: 0.5, alpha: 0.9) 

    var circuloVerde = SKSpriteNode(imageNamed: "fondoBaseBlanco.png") 




for touch in touches { 
      let location = circuloVerde 

      let circuloVer = circuloVerde 

      circuloVerde.position = circuloVerde.position 

     circuloPrincipal.color = colorVerde 

     //circulo principal = player 
     //color verde = green color 
     //circulo verde = button 

     } 
} 
+0

この質問は広すぎる、あなたはあなたのいくつかを入れることができますコード、それはあなたがUIKitまたはSprite-kitライブラリ、あるいはその両方のコンテキストをどのようなコンテキストで解決しようとしているのか明らかではありません –

+0

私の質問を編集しました –

+0

どこにこの "ボタン"を追加しますか? UIButtonですか?あなたはSKSceneを持っていますか?より明確にしてください。 –

答えて

0

あなたのボタンを作成するには、このような名前を追加:touchesBeganデリゲートメソッドで

circuloVerde.name = "button" 

の操作を行います。

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
     /* Called when a touch begins */ 

     let touch = touches.first 
     let positionInScene = touch!.locationInNode(self) 

     let touchedNode = self.nodeAtPoint(positionInScene) 

     if let name = touchedNode.name 
     { 
      print("name : \(name)") 
      if name == "button" { 
       //do my stuff 
       circuloPrincipal.color = colorVerde 
       // or you can do also 
       circuloPrincipal.color = circuloVerde.color 
      } 
     } 
} 
+1

アレッサンドロが助けてくれてありがとう!出来た! –

1

(この場合は別のSKSpriteNode)プレーヤーを押した場合、ボタン

問題は、私は、画面をタップすると、それがアクションを果たしていることである、と私は唯一のアクションをプレイしたいですボタンの操作はこれを行います。

-(IBAction)buttonTapped:(id)sender{ 
    UIButton *btn = (UIButton*)sender; 
    UIColor *btnColor = btn.backgroundColor; 
// Now you can set this btnColor as the color of your player. 
} 
+0

ありがとう!私はそれを試してみてください –

関連する問題