首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将SKLabelNode作为SKShapeNode的裁剪节点

将SKLabelNode作为SKShapeNode的裁剪节点
EN

Stack Overflow用户
提问于 2016-03-14 19:30:27
回答 1查看 455关注 0票数 3

在网页上找不到,如何制作SKLabelNode裁剪SKShapeNode。当我给背景上色时,我的目标是用相同的方法也给标签上色,所以它们必须同时上色。但无法想象如何用这个标签来裁剪SKShapeNode。请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2016-03-14 23:32:46

,但无法想象如何用这个标签裁剪SKShapeNode。

如果我理解正确的话,您可以将SKLabelNode设置为SKCropNode的掩码,如下所示:

代码语言:javascript
运行
复制
override func didMoveToView(view: SKView) {

        backgroundColor = .blackColor()

        let cropNode = SKCropNode()
        cropNode.position = CGPoint(x: frame.midX, y: frame.midY)
        cropNode.zPosition = 1

        let mask = SKLabelNode(fontNamed: "ArialMT")
        mask.text = "MASK"
        mask.fontColor = .greenColor()
        mask.fontSize = 28

        cropNode.maskNode = mask


        let nodeToMask = SKSpriteNode(color: .purpleColor(), size: CGSize(width: 200, height: 200))
        nodeToMask.position = CGPoint(x: 0, y: 0)
        nodeToMask.name = "character"
        cropNode.addChild(nodeToMask)
        //Now colorize the sprite which acts like background
        let colorize = SKAction.sequence([
                SKAction.colorizeWithColor(.orangeColor(), colorBlendFactor: 0, duration: 1),
                SKAction.colorizeWithColor(.purpleColor(), colorBlendFactor: 0, duration: 1)
        ])

        nodeToMask.runAction(SKAction.repeatActionForever(colorize), withKey: "colorizing")

        addChild(cropNode)

}

结果是:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35986345

复制
相关文章

相似问题

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