如何在不填充漏洞的情况下填充包含漏洞的Android路径?
我目前正在为Android编写非常简单的游戏(API级别7),以发现和学习Android SDK。这个游戏包括在屏幕上画形状,当触摸时会改变颜色 某些形状可能嵌入一个或多个孔。我的问题是:如果我触摸形状,整个东西的颜色都会改变,甚至是洞。这是我使用的伪代码,形状是我想画的多边形,边界是它的外边界,孔是它的孔数组。孔和边界包含其点的数组如何在不填充漏洞的情况下填充包含漏洞的Android路径?,android,graphics,Android,Graphics,我目前正在为Android编写非常简单的游戏(API级别7),以发现和学习Android SDK。这个游戏包括在屏幕上画形状,当触摸时会改变颜色 某些形状可能嵌入一个或多个孔。我的问题是:如果我触摸形状,整个东西的颜色都会改变,甚至是洞。这是我使用的伪代码,形状是我想画的多边形,边界是它的外边界,孔是它的孔数组。孔和边界包含其点的数组 Path MyPath = Path(); Path.moveTo(boundary.points[0].x, boundary.point[0].x); for
Path MyPath = Path();
Path.moveTo(boundary.points[0].x, boundary.point[0].x);
for (point in boundary) {
MyPath.lineTo(point.x, point.y);
}
Path.close();
for (hole in shape.holes) {
MyPath.moveTo(hole.points[0].x,hole.points[0].y);
for (point in hole) {
MyPath.lineTo(point.x, point.y);
}
MyPath.close();
}
// setting Paint here...
canvas.drawPath(MyPath, MyPaint);
关于Android中的路径,他们是我遗漏了什么,还是您有其他方法可以做到这一点?您确定使用了正确的路径填充规则吗?如果您使用例如
缠绕
作为填充规则,则孔必须与外部边界的方向相反(例如,边界逆时针方向和孔顺时针方向)您提出了一些以前不知道的路径创建方面,我将对此进行研究。非常感谢。你说得对,使用MyPath.setFillType(Path.FillType.偶数)就成功了。