2013-05-29 71 views

回答

1

制作网格,火柴杆从网格中占用瓦片。应用简单的寻路算法(任何都可以,简单的)从形状的中心到其外部的点。如果寻路失败,则表示其封闭形状。如果达到目标,意味着有一条路径,意味着它不是封闭的形状。

+0

可以请你告诉如何访问形状的中心....例如三角形或矩形?请回复.... –

+0

如果你把游戏变成一个网格,就像我获得的一样,只需将它除以2即可得到一个单元格(向下舍入),这个单元格就是中心。如果没有,计算形状的x,y,宽度和高度(或者如果火柴棒在精灵中,直接从它得到x,y,宽度和高度)并除以2. – Discipol

+0

感谢好友...将尝试它出.... –

0

假设您的笔画厚度为1像素。

  1. 取任意一行上的像素。
  2. 以其4邻居(称他们4N)。
  3. 在4N的每个像素上使用BitmapData.flooFill
  4. 然后对于每个人来说,检查洪水填充是否着色了其他3个。如果确实如此,那么你的形状不会封闭。如果至少有一个邻居在至少一个4 floodFills中保持畅通,则形状将关闭。
+0

将试图让你知道结果..谢谢你的答案 –

+1

你假设火柴的像素连接,他们都是相同的纯色等,如果user2431915正在使用光栅图形,这种方法不行。 – Discipol

相关问题