gpt4 book ai didi

swift - 没有为 SKShapeNode 指定初始化(circleOfRadius : radius)

转载 作者:IT王子 更新时间:2023-10-29 05:23:34 30 4
gpt4 key购买 nike

我正在尝试快速创建 SKShapeNode 的子类 SKShapeNode(circleOfRadius: radius) 但没有指定的初始化。

任何人有任何变通方法或有关原因的信息吗?我不确定这是错误还是故意的。我发现此视频演示了 SKSpriteNode 的解决方法,但它对我不起作用。 https://skillsmatter.com/skillscasts/5695-how-to-subclass-a-skspritenode

总的来说,我正在尝试为 SKShapeNode 创建一个子类,然后我可以再次对其进行子类化,以获得不同的版本,以便更轻松地管理我的代码。时间差

谢谢 Martin,我之前找到了那个例子。它有效,但我如何将其变成圆形而不是矩形?

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")
}
}

在主代码中

let playerOne = Player(rectOfSize: CGSize(width: 100, height: 100))

最佳答案

这个怎么样?

class Player: SKShapeNode {

init(circleOfRadius: CGFloat){
super.init()

let diameter = circleOfRadius * 2
self.path = CGPathCreateWithEllipseInRect(CGRect(origin: CGPointZero, size: CGSize(width: diameter, height: diameter)), nil)
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

}

关于swift - 没有为 SKShapeNode 指定初始化(circleOfRadius : radius),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28223484/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com