В моей программе, которую я делаю, я пытаюсь создать два разных типа фигур с разными текстурами, которые имеют один и тот же класс.Текстуры классов меняются, но не отображаются
Поскольку этот класс является подклассом, я должен установить текстуру текстуры по умолчанию в super.init. Я меняю текстуру, но при запуске программы появляется только текстура по умолчанию.
Я попытался распечатать текстуру, и она говорит, что текстура была изменена. Что происходит?
Примечание: Я использую шашки для проверки в качестве подставки. Красная контрольная фигура - это стенд в одном (и один для красной команды). Изображение должно отображать черный клетчатой кусок
Вот проблема:
Вот является распечатка.
Вот код для нереста и для стрелкам класса:
func spawnBlueRiflemen(at: CGPoint) {
let newBlueRifle = rifleman()
newBlueRifle.texture = textureBlueRifle
newBlueRifle.position = at
newBlueRifle.team = "Blue"
print("\(newBlueRifle.texture)")
self.addChild(newBlueRifle)
}
class rifleman: Character, pTargetable{
var health = 10
init() {
super.init(tag: 0, team: "generic", currentAction: 0, texture: textureRedRifle)
var xSize = texture.size().width // Create The texture for the top (visible sprite)
var ySize = texture.size().height
var size = CGSize(width: xSize, height: ySize)
self.physicsBody = SKPhysicsBody(texture: texture, size: size)
self.physicsBody?.isDynamic = false
self.physicsBody?.affectedByGravity = false // (physical body stuff)
self.physicsBody?.mass = 1.0
self.name = "\(tag)"
var top = SKSpriteNode(texture: texture, size: size)
top.zPosition = layers.characters
top.color = SKColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
top.colorBlendFactor = 1.0
self.addChild(top)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func takeDamage(damage: Int) {
health -= damage
print("\(tag) lost \(damage) hit points")
if health <= 0 {
die()
print("\(tag) is dead now")
}
}
}