В момента работя върху игра, в която враговете се появяват отляво на екрана и се движат надясно. Искам да дам на тези врагове техните собствени атрибути (здраве, сила и т.н.). Така че работя върху създаването на клас Basic_fighter. Имам и потребителски снайперски мерник, който потребителят използва, за да удря враговете. Проблемът, който имам, е как да получа достъп до атрибутите на враговете във функцията DidBeginContact, тъй като функцията връща само два възела, а не информацията за класа. Ще поставя моя код по-долу
Основен_клас_боец
import Foundation
import SpriteKit
class Basic_Fighter {
var health = Int()
var type = SKSpriteNode()
init(sk:SKSpriteNode){
self.type = sk
self.health = 3
}
}
func spawn_enemies(){
let enemynode = SKSpriteNode(imageNamed: "Shooter")
enemynode.size = CGSize(width: 100, height: 40)
enemynode.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
enemynode.physicsBody = SKPhysicsBody(rectangleOfSize: enemynode.size)
enemynode.physicsBody?.affectedByGravity = false
enemynode.physicsBody?.categoryBitMask = BodyType.enemy
enemynode.physicsBody?.contactTestBitMask = BodyType.bullet
let enemy = Basic_Fighter(sk: enemynode)
addChild(enemynode)
}
Мога да открия контакта, осъществен между потребителския обхват и врага във функцията DidBeginContact, но не знам как да получа достъп до информацията за врага, като например неговото здраве.