使用快照对齐构建拖放拼图类型界面

时间:2012-01-02 11:12:17

标签: java android alignment snapping

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

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

但是......我仍然坚持如何将各个部分对齐。即当一块在另一块附近时,移动一块,使附近的边缘相互叠加(即基本上共享一个边界)。

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

有人能指出我的教程(任何语言)/代码/或建议如何实现它?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

希望有所帮助。

答案 2 :(得分:0)

如何在每个形状周围画一个方框。然后定义它的中间部分。然后,您可以存储每个部分的旋转值。你需要将邻居与一个向量存储在中间。

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