2016-01-03 44 views
-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功能敵人之間進行的接觸,但我不知道如何獲取敵人的信息,如健康狀況。

+0

只需訪問didbegincontact中的主體節點功能,這可以在多個教程中使用,然後您只需將它投射到它所屬的類 – Knight0fDragon

回答

0

我想你可以用enemynode.health訪問它,但我不確定。