Tôi đang cố tạo một lớp con của SKShapeNode nhanh như SKShapeNode (circleOfRadius: radius) nhưng không có init được chỉ định cho nó.không có init được chỉ định cho SKShapeNode (circleOfRadius: radius)
Bất kỳ ai có bất kỳ cách giải quyết hoặc thông tin nào về lý do tại sao? Tôi không chắc đây có phải là lỗi hay cố ý hay không. Tôi thấy video này minh họa một giải pháp cho SKSpriteNode nhưng nó không hoạt động đối với tôi. https://skillsmatter.com/skillscasts/5695-how-to-subclass-a-skspritenode
Nói chung tôi đang cố gắng tạo một lớp con cho SKShapeNode mà sau đó tôi có thể phân lớp lại để có các phiên bản khác nhau để quản lý mã của tôi dễ dàng hơn. TIA
Cảm ơn Martin tôi đã tìm thấy ví dụ đó trước đó. Nó hoạt động nhưng làm thế nào tôi sẽ làm cho rằng vào một vòng tròn thay vì một hình chữ nhật?
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")
}
}
Trong Mã Main
let playerOne = Player(rectOfSize: CGSize(width: 100, height: 100))
Liệu sự giúp đỡ này: [subclassing SKShapeNode với Swift] (http://stackoverflow.com/questions/24235185/subclassing-skshapenode-with-swift)? –
Nếu trình biên dịch xoay quanh một init bị thiếu, nó thường gợi ý chèn một (dấu chấm đỏ có hình vuông). Chỉ cần để cho nó làm điều đó. –
Martin. Tôi đã làm việc với ví dụ đó trước đó và đã làm việc ngay bây giờ nhưng làm thế nào tôi sẽ làm cho một vòng tròn thay vì một hình chữ nhật? – Chris