gpt4 book ai didi

Xcode 7.2、iOS 8.X、SpriteKit、Sprite 无法识别任何触摸

转载 作者:行者123 更新时间:2023-11-30 13:51:31 25 4
gpt4 key购买 nike

我开发了:

  • 使用 Swift 2.1.1(当前版本)和 SpriteKit 进行游戏
  • 我在 Xcode 7.2 上运行
  • OS X 10.11.2 (EL Capitan)
  • 游戏项目设置“部署目标”设置为 8.0。

在真正的 iPhone 6 设备和任何运行 iOS 9.x 的模拟器上一切正常。

但是我需要在iOS 8.x上测试它,我只有这个版本的模拟器。游戏正常启动 - 一切看起来都很好,但我无法单击任何地方。无法识别点击/触摸。日志或 Xcode 中没有错误。我不知道问题出在哪里,模拟器还是我的游戏。

有人有类似的问题吗?感谢您的建议。

编辑:经过一番研究,我发现 iOS 8 有 bug:一个属性为 hide=true 的(全屏) Sprite 位于我的可触摸 Sprite 按钮上方。这个全屏 Sprite “吸收”所有触摸。哪怕是隐藏的。此错误已在 iOS 9 中修复。

有什么想法要做什么吗?

最佳答案

我的解决方法:不仅要隐藏,还要从父 Sprite 中删除。我的所有 Sprite 都是 MySpriteNode 的后代。在该类中,我实现了函数 setVisible(),实现:

func setVisible(visible:Bool, _ newParent:SKNode?)
{
// hide sprite
if !visible
{
self.hidden = true
self.removeFromParent()
}

// show sprite
else
{
self.hidden = false
if newParent != nil && self.parent == nil
{
newParent!.addChild(self)
}
else
{
// Sprite is visible (with old parent)
}
}
}

如果我想隐藏 Sprite :

myButton.setVisible(false, nil)

如果我想显示 Sprite ,我必须知道一个父级:

myButton.setVisible(true, self)

现在,触摸已成功识别。

关于Xcode 7.2、iOS 8.X、SpriteKit、Sprite 无法识别任何触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34223651/

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