sam*_*ner 13 cocoa-touch sprite-kit swift
我正在尝试SKShapeNode使用Swift 进行子类化.到目前为止,我有这样的事情:
import UIKit
import SpriteKit
class STGridNode: SKShapeNode {
init() {
super.init()
self.name = "STGridNode"
self.fillColor = UIColor(red: 0.11, green: 0.82, blue: 0.69, alpha: 1)
}
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我希望这样做:
let s = STGridNode(rectOfSize: CGSize(width: 100, height: 100))
Run Code Online (Sandbox Code Playgroud)
所以我的问题是 - 如何rectOfSize在初始化器中实现STGridNode?我试过了:
init(rectOfSize: CGPoint) {
super.init(rectOfSize: rectOfSize);
}
Run Code Online (Sandbox Code Playgroud)
但是这给出了一个错误:'找不到接受提供的参数的init的重载'
dre*_*wag 23
您尝试的代码有两个问题:
rectOfSize在SKShapeNode一个CGSize不是一个CGPointrectOfSizein SKShapeNode是一个便利初始化程序,因此您将无法从子类中调用它.您必须自己调用super.init()并实现rect功能你可以这样做:
init(rectOfSize: CGSize) {
super.init()
var rect = CGRect(origin: CGPointZero, size: rectOfSize)
self.path = CGPathCreateWithRect(rect, nil)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3586 次 |
| 最近记录: |