小编Chr*_*ris的帖子

没有指定的SKShapeNode初始化(circleOfRadius:radius)

我正在尝试在swift中创建一个SKShapeNode的子类作为SKShapeNode(circleOfRadius:radius),但是没有指定的init.

任何人有任何变通办法或有关原因的信息?我不确定这是一个bug还是故意的.我发现这个视频演示了SKSpriteNode的解决方法,但它不适用于我. https://skillsmatter.com/skillscasts/5695-how-to-subclass-a-skspritenode

总的来说,我正在尝试为SKShapeNode创建一个子类,然后我可以再次从子类中使用不同的版本来更轻松地管理我的代码.TIA

谢谢马丁我之前发现了这个例子.它可以工作,但我怎么会把它变成一个圆而不是一个矩形?

import Foundation
import SpriteKit


    class Player : SKShapeNode {

        override init() {
            super.init()
            self.name = "Player"
            self.fillColor = UIColor.blackColor()

        }

        init(rectOfSize: CGSize) {
            super.init()

            var rect = CGRect(origin: CGPointZero, size: rectOfSize)
            self.path = CGPathCreateWithRect(rect, nil)
        }

        required init?(coder aDecoder: NSCoder) {
            fatalError("init(coder:) has not been implemented")
        }
    }
Run Code Online (Sandbox Code Playgroud)

在主要代码中

let playerOne = Player(rectOfSize: CGSize(width: 100, height: 100))
Run Code Online (Sandbox Code Playgroud)

subclass init sprite-kit skshapenode swift

15
推荐指数
1
解决办法
3924
查看次数

标签 统计

init ×1

skshapenode ×1

sprite-kit ×1

subclass ×1

swift ×1