我有这段代码:
graphicsContext.setCanvas(canvas);
graphicsContext.clear();
camera.applyTransform(graphicsContext);
RectF screen = camera.getCamRect(getWidth(), getHeight());
for(Road r : roads) {
if(screen.contains(r.getRect())) {
r.draw(graphicsContext);
}
}
for(Intersection i : intersections) {
if(screen.contains(i.getRect())) {
i.draw(graphicsContext);
}
}
唯一的问题是contains方法必须在A中有B的所有4个顶点才能返回true。 我可以使用什么类型的算法,给出顶部,左侧,底部,右侧,以检查B是B的一部分还是完全在B内部。
由于
答案 0 :(得分:4)
答案 1 :(得分:0)
只需使用intersects
方法:
for(Road r : roads)
{
if(RectF.intersects(screen, r.getRect()))
{
r.draw(graphicsContext);
}
}