gpt4 book ai didi

swift - 如何构建用于拖放拼图 block 的对齐网格功能?

转载 作者:行者123 更新时间:2023-11-30 10:37:54 25 4
gpt4 key购买 nike

我正在尝试构建一种俄罗斯方 block /1010!使用 SpriteKit 和 Swift 制作的风格益智游戏。我希望游戏向用户呈现一个由多个 block 组成的拼图。然后,用户可以将拼图 block 拖放到网格上。如果用户在网格上选择的区域有空位,拼图 block 将捕捉到最近的空位并占据它们。

我不确定如何实现这个问题的“将拼图 block 对齐到网格”部分。关于我如何从高层次的角度处理这个问题有什么建议吗?下面的图片提供了更多背景信息。

提前感谢您的帮助。

tiles

最佳答案

由于您已经创建了这两个对象,因此您可以检查它们的中心并将其与行的中心进行比较,并将其与最接近的一个进行匹配,例如:

假设每行之间有 100 像素

第 1 行中心 = (100, 100)

第 2 行中心 = (100, 200)

第 3 行中心 = (100, 300)

您可以轻松计算每行的中心,因为您有它们的中心点

在触摸结束函数中,您将比较每个 block 的中心点并处理以下情况:

  • 获取距 block 中心最近的 3 行中心
  • 检查该中心是否为空,如果是,则通过制作

    来捕捉该 block

    block.center = row[i].center

  • 如果没有,则匹配下一个最近的行
  • 如果没有空行那么您应该终止游戏

无论 block 在屏幕上的任何位置,此操作都有效,因为您拥有有关这两个对象的完整信息

关于swift - 如何构建用于拖放拼图 block 的对齐网格功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57527227/

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