ios - 快速分组多个 Sprite

标签 ios swift sprite-kit

我正在尝试将 4 个 Sprite 添加到一个 View 中,每个 Sprite 都在一个假想正方形的另一个角落,而不是围绕中心旋转所有 Sprite 。完成此任务的最佳方法是什么?

我知道如何旋转每个 Sprite ,但也许有一种方法可以将多个 Sprite 分组,比如将它们放在一个容器中?

How the result should look like

最佳答案

这是我的工作代码。

import SpriteKit

let player = SKNode()
let playerTopLeft = SKSpriteNode(color: UIColor.yellowColor(), size: CGSizeMake(20, 20))
let playerTopRight = SKSpriteNode(color: UIColor.yellowColor(), size: CGSizeMake(20, 20))
let playerBottomRight = SKSpriteNode(color: UIColor.yellowColor(), size: CGSizeMake(20, 20))
let playerBottomLeft = SKSpriteNode(color: UIColor.yellowColor(), size: CGSizeMake(20, 20))

class GameScene: SKScene {

    override func didMoveToView(view: SKView) {
        backgroundColor = SKColor.blackColor()

        player.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
        addChild(player)

        playerTopLeft.position = CGPoint(x:-40, y:-40)
        player.addChild(playerTopLeft)

        playerTopRight.position = CGPoint(x:40, y:-40)
        player.addChild(playerTopRight)

        playerBottomRight.position = CGPoint(x:40, y:40)
        player.addChild(playerBottomRight)

        playerBottomLeft.position = CGPoint(x:-40, y:40)
        player.addChild(playerBottomLeft)

    }

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

        for touch in touches {

            let rotate = SKAction.rotateByAngle(CGFloat(-M_PI_2), duration:1)
            player.runAction(rotate)

        }
    }
}

关于ios - 快速分组多个 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35119028/

相关文章:

ios - UITableViewCell 在实现 willDisplay 函数时不取消选择

swift - 将 UILabel 放置在屏幕中央

ios - physicsBody 与 spriteNode 未对齐

ios - Core Data 对我手动编写的 @NSManaged 属性做了什么。我得到实体而不是键值赞美

objective-c - 简单的Objective-C脚本打开一个URL

ios - 如何在 CollectionView 中更快地加载 JSON 图像 url

ios - 在 AFNetworking 3.0 失败 block 上获取 responseObject

ios - Swift 2.0 和 let 警告

swift - 导航栏 Swift 中的 Logo 未显示

ios - SKAction.runBlock -> 调用中缺少完成参数