gpt4 book ai didi

swift - SKSpriteNode 子类位置问题

转载 作者:行者123 更新时间:2023-11-28 11:36:35 25 4
gpt4 key购买 nike

我正在开发一款游戏,其中包含一个角色。该角色是 SKSpriteNode 的子类:

class Character: SKSpriteNode {

init() {
let texture = SKTexture(imageNamed: "character")
super.init(texture: texture, color: UIColor.white, size: texture.size())
self.isUserInteractionEnabled = true
self.zPosition = 10
self.position = CGPoint(x: 0, y: 0)
self.name = "character"
}

required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}


override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print("Touch!")

// Create small +1 sprite
let plusNode = SKSpriteNode(imageNamed: "plus1Node")
plusNode.zPosition = 10000 //To make sure its always in front
plusNode.position = self.position
self.addChild(plusNode)
}

角色通过 GameScene.swift 添加到游戏中:

    func spawnCharacter() {
//Random postion for the pigs
let randomX = Functions().randomBetweenNumbers(firstNum: -140, secondNum: 140)
let randomY = Functions().randomBetweenNumbers(firstNum: -240, secondNum: 240)

let newCharacter = Character()
newCharacter = CGPoint(x: randomX, y: randomY)
gameArea!.addChild(newCharacter)
}

当玩家点击角色时,会生成一个小的“+1”节点以向玩家显示他已经触摸了角色。我希望那个 +1 节点在角色的顶部产生,但它被放置得很远 - 就像多个点一样。

如果我将 +1 代码移动到 GameScene(就在创建角色并将其添加到场景之后,位置就在现场)。

我在这里错过了什么?

最佳答案

PulzeNode.position = CGpoint.zero

当你将它添加到角色时,它应该在父节点的原点

关于swift - SKSpriteNode 子类位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com