【问题标题】:Building a drag and drop puzzle-type interface with snap alignment使用对齐对齐构建拖放拼图式界面
【发布时间】:2012-01-31 18:38:11
【问题描述】:

我正在构建一个 Android 益智游戏,用户可以在其中旋转和移动拼图的各个部分以形成最终图片。它有点像一个滑块拼图,但块的形状和大小并不统一 - 更像是俄罗斯方块的滑块版本。

目前,我将拼图块作为 imageViews,可以选择并在视图周围移动以定位它们。我已经将幕后形状的矢量形式作为点的 ArrayLists。

但是...我不知道如何将这些片段对齐在一起。 IE。当一块靠近另一块时,移动一块,使附近的边缘相互重叠(即基本上共享一个边界)。

我确信这已经完成了很多次,但找不到带有代码的示例(任何语言)。它类似于捕捉到网格但不一样,并且与您在图表类型界面中获得的相同功能,当您可以将对象相互捕捉时。

谁能给我指点教程(任何语言)/代码/或建议如何实现它?

【问题讨论】:

    标签: java android alignment snapping


    【解决方案1】:

    Urs 就像七巧板游戏。我认为不可能用图像片段来形成最终图片。它可以通过使用 android.Graphics 包创建几何形状(最终形状和最终图片的片段/切片)来完成。从片/片的边缘和顶点确定最终形状非常容易。

    【讨论】:

      【解决方案2】:

      http://code.google.com/p/photogaffe/ 值得一试。这是一个由 15 块组成的开源滑动拼图,允许用户从他们的图库中选择图像。

      您只需要弄清楚您的各种形状以及如何旋转它们。如果您提供自己的图像...如何加载它们。

      希望对您有所帮助。

      【讨论】:

        【解决方案3】:

        如何在每个形状周围画一个框。然后你定义它的中间。然后,您可以为每件作品存储一个旋转值。而且您需要将邻居与他们中间的向量一起存储。

        然后你只需要计算向量在一个合理的范围内并且旋转是 +-X 度。例如,如果矢量在 +-10 像素范围内且旋转为 +-3°,则您可以旋转该部分并将其放入拼图中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-13
          • 2013-05-15
          • 2021-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多