我目前正在制作一个游戏,从屏幕左侧产生敌人并向右移动。我想给这些敌人他们自己的属性(健康,力量等)。所以我正在创建一个Basic_fighter类。我还有一个用户用来击中敌人的用户狙击范围。我遇到的问题是如何访问DidBeginContact函数中的enemies属性,因为该函数只返回两个节点,而不是类信息。我将把我的代码放在
之下Basic_Fighter_Class
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函数中检测用户范围与敌人之间的联系,但我不知道如何访问敌人的信息,例如它的健康状况。
答案 0 :(得分:0)
我认为您可以使用enemynode.health访问它,但我不确定。