Android 執行環境**不包含**標準 Java SE 的 java.awt 套件(僅保留極少數字體相關類別)。專案加入 JDK 函式庫也無法在裝置上執行,會拋出 NoClassDefFoundError。
android.graphics.Path:繪製多邊形、曲線,支援 addPolygon、lineTo 等。android.graphics.Region:區域運算(交集、聯集、差集)。android.graphics.RectF / Rect:矩形碰撞檢測。// 點是否在多邊形內(射線法)
public boolean contains(PointF[] polygon, PointF p) {
boolean inside = false;
for (int i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
PointF pi = polygon[i], pj = polygon[j];
if (((pi.y > p.y) != (pj.y > p.y)) &&
(p.x < (pj.x - pi.x) * (p.y - pi.y) / (pj.y - pi.y) + pi.x)) {
inside = !inside;
}
}
return inside;
}
Polygon、Intersector 等遊戲數學工具。android.graphics.Path + Region 滿足大多數 2D 幾何需求。