尝试使用 SKCropNode 添加Child - 错误

Posted

技术标签:

【中文标题】尝试使用 SKCropNode 添加Child - 错误【英文标题】:Trying to addChild withSKCropNode - Error 【发布时间】:2016-07-08 03:27:06 【问题描述】:

我正在从事一项球类运动,并且是 swift 新手。我正在尝试使用 SKCropeNode 使球具有两种颜色。它抛出此错误:“无法使用类型参数列表(skcropnode)调用addchild”

我尝试了很多不同的方法,但我不确定如何解决这个问题。谢谢你的帮助

    static func make()-> Ball 

    var anchorPoint = CGPointMake(0.5, 0.5)

    // Half Circle #1

    let myCrop1 = SKCropNode()

    let myMask1 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100))
    myMask1.position.y = -50

    let ball = SKShapeNode(circleOfRadius: 50)
    ball.lineWidth = 0
    ball.fillColor = UIColor.blueColor()

    myCrop1.addChild(ball)
    myCrop1.maskNode = myMask1
    addChild(myCrop1) //ERROR HERE

    // Half Circle #2

    let myCrop2 = SKCropNode()

    let myMask2 = SKSpriteNode(color: UIColor.blackColor(), size: CGSizeMake(100, 100))
    myMask2.position.y = 50

    let circle2 = SKShapeNode(circleOfRadius: 50)
    circle2.lineWidth = 0
    circle2.fillColor = UIColor.redColor()

    myCrop2.addChild(circle2)
    myCrop2.maskNode = myMask2
    addChild(myCrop2)


    return ball

【问题讨论】:

***.com/questions/35109905/… 【参考方案1】:

将函数改为static

当你创建一个函数或static时,它属于类而不是类的实例。

当您致电addChild(myCrop1) 时,您实际上是在说:self.addChild(myCrop1)self 指的是一个实例,在静态函数中是不允许的。

【讨论】:

以上是关于尝试使用 SKCropNode 添加Child - 错误的主要内容,如果未能解决你的问题,请参考以下文章

SpriteKit SKCropNode 掩盖一切

SKCropNode 将裁剪部分作为 SKSpriteNode

MFC 为 WS_CHILD 窗口添加细边框

未找到模块:错误无法解析“child_process”,如何解决?

如何使用 Sprite Kit 创建具有 3D 效果的戒指?

合并两个 XML 文件并添加缺少的标签和属性