[ios]将选择器添加到 SKSpriteNode 时按下

发布时间: 2017/4/3 23:07:40
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我需要向 SKSpriteNode 添加一个选择器或某种类型的活动课。所以当用户点击其中一个 SKSpriteNodes 它告诉一个将其纹理设置为所选的图像,但也告诉任何其他人要无所选图像。

下面是我在触摸功能开始,SKSpriteNode 选中它设置的纹理到所选图像"选择 1"。被逼得说字符 1 我需要告诉 2,3,4,字符 x 设置为"1 不选定"图像。

        if Character1.contains(location) {

            Character1.texture = SKTexture(imageNamed: "1-selected")
            run(ButtonPressed)

        }

        if Character2.contains(location) {

            Character2.texture = SKTexture(imageNamed: "2-selected")
            run(ButtonPressed)

        }`

解决方法 1:

做到这一种方法将所有精灵在一个集合或数组,一旦有人按下那个按钮,遍历此数组,运行所要对每个精灵同时筛选出只是感动的那个动作。这也意味着然而你应该照顾的添加和移除这些精灵从数组,一旦你的游戏做不保留这段记忆。

var mySpriteArray = [Sprite1, Sprite2, Sprite3] 

 if Character1.contains(location) {

      Character1.texture = SKTexture(imageNamed: "1-selected")
      for loopSprite in mySpirteArray{
         if (loopSprite != Character1){
loopSprite.texture = "1-not-selected.png" 
}

        }}

您甚至可以扩展这,你做 for 循环的每个字符和看如果它包含您所在的位置,所以你不需要做一个 if 语句的每个字符 (即如果 character1.contains(location),如果 char2,如果 char3 等)。

官方微信
官方QQ群
31647020