首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化中的SKSpriteNode设置颜色(NSCoder)

初始化中的SKSpriteNode设置颜色(NSCoder)
EN

Stack Overflow用户
提问于 2016-03-15 23:06:03
回答 1查看 173关注 0票数 0

我使用XCode 7.2.1在SceneEditor中创建了一个自定义类(带有SKSpriteNode = PlayerNode)

我发现来自SKS文件的节点加载是使用init(编码器: NSCoder)方法初始化的,所以这里我将如何在swift中实现PlayerNode类

代码语言:javascript
复制
class PlayerNode : SKSpriteNode {
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.initializePhysics()
    }

    func initializePhysics() {
        /* blabla */
        self.color = SKColor.greenColor()
        self.colorBlendFactor = 1.0
        self.blendMode = .Replace
    }
}

当我运行这个项目时,节点的颜色一点也没有改变。但是当我在GameScene对象的didMoveToView方法中更改颜色时,如下所示:

代码语言:javascript
复制
class GameScene: SKScene {

    var player = SKSpriteNode()

    override func didMoveToView(view: SKView) {
        super.didMoveToView(view)
        self.player = (self.childNodeWithName("player") as? SKSpriteNode)!

        self.player.color = SKColor.greenColor()
        self.player.colorBlendFactor = 1.0
        self.player.blendMode = .Replace
    }
}

现在颜色发生了变化。有没有在PlayerNode类中设置颜色的方法?

EN

回答 1

Stack Overflow用户

发布于 2016-03-16 00:32:54

您创建了一个SKSpriteNode:

代码语言:javascript
复制
var player = SKSpriteNode()

但是你想要:

代码语言:javascript
复制
var player = PlayerNode()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36014999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档