Swift中的自定义类使用SKSpritenodes /碰撞检测

时间:2016-01-03 23:12:26

标签: swift sprite-kit subclass collision skspritenode

我目前正在制作一个游戏,从屏幕左侧产生敌人并向右移动。我想给这些敌人他们自己的属性(健康,力量等)。所以我正在创建一个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函数中检测用户范围与敌人之间的联系,但我不知道如何访问敌人的信息,例如它的健康状况。

1 个答案:

答案 0 :(得分:0)

我认为您可以使用enemynode.health访问它,但我不确定。