我在 Sprites 的 IsUserInteractionEnabled 属性中看到奇怪的行为,还有其他人看到过吗?

I'm seeing strange behavior in the IsUserInteractionEnabled property of Sprites, has anyone else seen this?

提问人:Dominick 提问时间:10/7/2023 更新时间:10/7/2023 访问量:28

问:

我正在用科技树写一个游戏。我希望玩家在接下来的两项技术可用之前研究这个分支的前 4 部分。我写了下面的代码,它正在向后工作:

func applyGrayShade(to sprite: SKSpriteNode) {
    sprite.color = SKColor.gray
    sprite.colorBlendFactor = 1.0
    sprite.isUserInteractionEnabled = false 
}

func removeGrayShade(from sprite: SKSpriteNode) {
    sprite.color = SKColor.white
    sprite.colorBlendFactor = 0.0
    sprite.isUserInteractionEnabled = true
}

touchesEnded 确实检测到我应用灰色阴影的精灵,但在我删除它时它不会检测到它们,这与我想要执行的操作完全相反。如果我只是在每个函数中反转布尔值,它就会按照我想要的方式工作,但这对我来说没有意义......

(这与我想要的方式一样,灰色阴影的精灵不可用于触摸事件,但在它调用的删除灰色阴影时可用,这很容易通过精灵的阴影看到)

func applyGrayShade(to sprite: SKSpriteNode) {
    sprite.color = SKColor.gray
    sprite.colorBlendFactor = 1.0
    sprite.isUserInteractionEnabled = true
}

func removeGrayShade(from sprite: SKSpriteNode) {
    sprite.color = SKColor.white
    sprite.colorBlendFactor = 0.0
    sprite.isUserInteractionEnabled = false

这是其他人见过的吗?我不认为我在其他地方影响了它,因为搜索 isUserInteractionEnabled 只有这 2 个匹配项。我可能会把它倒过来,因为它有效,但我想检查一下,看看有人可以先帮助我什么。谢谢!

Swift 精灵套件

评论


答: 暂无答案