-1
我目前正在研究一個遊戲,敵人從屏幕左側產生並向右移動。我想給這些敵人自己的屬性(健康,力量等)。所以我正在創建一個Basic_fighter類。我還有一個用戶用來狙擊敵人的用戶狙擊範圍。我遇到的問題是如何訪問DidBeginContact函數中的敵人屬性,因爲函數只返回兩個節點,而不是類信息。我會把下面Swift中使用SKSpritenodes /碰撞檢測的自定義類
我的代碼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功能敵人之間進行的接觸,但我不知道如何獲取敵人的信息,如健康狀況。
只需訪問didbegincontact中的主體節點功能,這可以在多個教程中使用,然後您只需將它投射到它所屬的類 – Knight0fDragon