2010-08-25 64 views
0

我正在考虑创建带有子视图阵列的游戏板视图以形成切片。我打算把瓷砖放到电路板上,让它们卡入到位。我不清楚的部分是当我放下我的瓷砖并触发touchesEnded事件时,通过我的游戏板的子视图来查看哪个插槽的最佳方式是什么,以便我可以将拼接块锁定到适当的位置?还是有更好的方法来跟踪所有的“槽”位置?相对于不同子视图的对象位置

我真的不希望硬编码每个细胞的位置,然后跟踪它,如果游戏板曾经在我的视图控制器中移动。

+0

棋盘是否与棋盘相似(对称,所有插槽的大小相同,并与网格对齐)还是随机分布的插槽? – Toastor 2010-08-25 08:02:18

+0

游戏棋盘就像是一排国际象棋(对称,大小相同但只有一行) – SonnyBurnette 2010-08-25 10:17:49

回答

1
+0

我目前遇到的麻烦是hitTest:withEvent一直指向我放下的tile uiview。我希望它保持交互性,因为我需要拖放它,但由于它位于顶部,所以HitTest说这是接受hitTest的那部分。 – SonnyBurnette 2010-08-27 12:20:57

+0

那么一个选项可能是使用pointInside循环遍历可能的目标:withEvent:,no?尽管从您对板的布局的评论看来,它似乎基于您可以直接计算目标的点,也就是说,基于您的滴点的x,您确切知道适用于单行的哪一列。 – imaginaryboy 2010-08-28 02:37:48

+0

这就是我要采取的路线。谢谢您的帮助。 – SonnyBurnette 2010-08-28 13:49:58

0

同上imaginaryboy。你不需要循环任何东西。让UIKit为您完成繁重的工作。计算放在棋盘上棋子的中心点,并在包含棋盘的视图上使用hitTest:withEvent:。

相关问题