Я хочу установить положение skspritenode
(hero
) в моей игровой сцене, когда я назначаю ему свой класс (Character
).
Когда ему дано CGPoints
frame.midX
и frame.midY
он не знает, на какой кадр он ссылается, поэтому он обнаруживается где-то совершенно иначе.
Любая идея, как я могу исправить свой класс так, чтобы cPosition
фактически установил позицию моего hero
в моей игровой сцене?
Код класса
class Character: SKSpriteNode{
var cSize: CGSize
var cColor: UIColor
let cName: String
let cTexture: SKTexture
let cPosition: CGPoint
init(cTexture: SKTexture,cSize: CGSize,cColor: UIColor, cName: String,cPosition: CGPoint){
self.cSize = cSize
self.cColor = cColor
self.cName = cName
self.cTexture = cTexture
self.cPosition = cPosition
super.init(texture: cTexture, color: cColor, size: cSize)
}
func jump(xForce: CGFloat, yForce: CGFloat){
physicsBody?.applyImpulse(CGVector(dx: xForce, dy: yForce))
}
Метод, в котором мой Character
класс назначен моему hero
:
func addHero() {
let hero = Character(cTexture: SKTexture(imageNamed: "testAvacado.png") ,cSize: CGSize(width: 68, height: 28), cColor: .blue, cName: "hero",
cPosition: CGPoint(x: frame.midX, y: frame.midY))
hero.physicsBody = SKPhysicsBody(texture: hero.cTexture, size: hero.cSize)
addChild(hero)
}