我正在开发一款游戏,我需要使用给定数量的火柴棒动画片段创建不同的封闭形状。所以任何人都可以帮助我找出用户创建的形状是否封闭?如何找到一个形状是否闭合形状?
-3
A
回答
1
制作网格,火柴杆从网格中占用瓦片。应用简单的寻路算法(任何都可以,简单的)从形状的中心到其外部的点。如果寻路失败,则表示其封闭形状。如果达到目标,意味着有一条路径,意味着它不是封闭的形状。
0
假设您的笔画厚度为1像素。
- 取任意一行上的像素。
- 以其4邻居(称他们4N)。
- 在4N的每个像素上使用
BitmapData.flooFill
。 - 然后对于每个人来说,检查洪水填充是否着色了其他3个。如果确实如此,那么你的形状不会封闭。如果至少有一个邻居在至少一个4
floodFills
中保持畅通,则形状将关闭。
+0
将试图让你知道结果..谢谢你的答案 –
+1
你假设火柴的像素连接,他们都是相同的纯色等,如果user2431915正在使用光栅图形,这种方法不行。 – Discipol
相关问题
- 1. 如何在形状达到另一个形状时停止形状(Android)?
- 2. 如何创建从一个形状到另一个形状的变形效果?
- 3. 如何将几何形状组合成一组重叠形状
- 4. 如何找出一个形状是否可以通过
- 5. 如何检测二维形状是否包含R树形状的另一个形状?
- 6. 将形状拟合到指定区域,找到最合适的形状
- 7. Slick2d形状包含另一个形状
- 8. 如何绘制一个闭合的弯曲形状?
- 9. 如何检测一个形状是否在html5画布中碰到另一个形状?
- 10. PowerPoint形状不在形状集合
- 11. X(关闭)形状
- 12. 如何知道矩形是否碰到这种形状?
- 13. Visio:如何获取包含在一个形状中的形状?
- 14. 是否可以在Dygraphs中绘制闭合的形状?
- 15. 如何从形状学习形状ID
- 16. Kineticjs找出一条线是否与一个矩形形状碰撞
- 17. 如何找到文本框的形状
- 18. 如何在图像上找到形状
- 19. 画一个形状
- 20. 找到形状的类型
- 21. 如何判断一个区域是否属于某个形状?
- 22. 无法验证一个形状是否为三角形
- 23. 查找图像中的封闭形状
- 24. 当形状部分透明时,如何在Canvas中从另一个形状(XOR)切出一个形状?
- 25. WPF复合形状
- 26. vba形状集合
- 27. 复合XML形状
- 28. Excel VBA将一个形状与另一个形状比较
- 29. 使用android.graphics.Path从另一个形状中删除一个形状
- 30. 通过svg将两种形状合并为一种形状
可以请你告诉如何访问形状的中心....例如三角形或矩形?请回复.... –
如果你把游戏变成一个网格,就像我获得的一样,只需将它除以2即可得到一个单元格(向下舍入),这个单元格就是中心。如果没有,计算形状的x,y,宽度和高度(或者如果火柴棒在精灵中,直接从它得到x,y,宽度和高度)并除以2. – Discipol
感谢好友...将尝试它出.... –