【问题标题】:Problem trying to convert 2d touches to spritekit coordinates manually尝试将 2d 触摸手动转换为 spritekit 坐标时出现问题
【发布时间】:2019-10-15 16:55:38
【问题描述】:

我正在尝试将 2d 触摸转换为精灵套件坐标世界空间。 我知道有一些方便的方法,例如“convert(_:from:)”。 但在我的场景中,我需要手动完成,我只是不知道从哪里开始。

谢谢

【问题讨论】:

  • 你能告诉我们你的“场景”,这意味着你不能使用内置代码吗?
  • 这么奇怪的要求。内置功能将完全满足您的需求。但是,如果您绝对需要手动执行此操作,则需要从特定视图中计算出您在左下方的百分比,然后将其转换为您在场景中的左下方百分比。因此,如果您在一个视图中剩下 70% 和 30% 的位置,那么您可以确定场景中剩余 70% 和 30% 的位置
  • 我正在使用带有金属的 SKRenderer,如果 SKScene 不在 skview 中,这些功能将不起作用
  • 好吧,你需要计算出你在视口中的百分比,然后用它来确定你在场景中触摸的位置

标签: swift math sprite-kit game-engine metal


【解决方案1】:
         let width = screenSize.width
     let height:CGFloat = screenSize2.height

     //convert screen space to cartesian space
     let x = ((point.x * 720) / (width))  - (width)
     let y = ((-point.y * 1280) / (height))  + (height)

有效,比率

【讨论】:

    猜你喜欢
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    • 2022-01-08
    • 2020-07-10
    相关资源
    最近更新 更多