我的應用程序中有一些球只是通過顯示器飛行。他們畫我想要的。但現在我想要在他們身後畫上蹤跡。安卓繪製球軌跡
所有我可以做只是通過canvas.drawPath
畫的東西像下面的圖片:
但它不是我想要的。它應該有尖尖的尾巴和漸變色是這樣的:
我不知道如何做到這一點。嘗試BitmapShader
- 無法做出正確的事情。請幫助。
代碼:
首先,有Point
類位置上顯示:
class Point {
float x, y;
...
}
和TRAIL存儲爲Point
隊列:
private ConcurrentLinkedQueue<Point> trail;
一點也沒有不管它如何填充,只知道它有大小限制:
在DrawTrail
方法
trail.add(position);
if(trail.size() > TRAIL_MAX_COUNT) {
trail.remove();
}
和繪製發生了:
private void DrawTrail(Canvas canvas) {
trailPath.reset();
boolean isFirst = true;
for(Point p : trail) {
if(isFirst) {
trailPath.moveTo(p.x, p.y);
isFirst = false;
} else {
trailPath.lineTo(p.x, p.y);
}
}
canvas.drawPath(trailPath, trailPaint);
}
順便說一句,trailPaint
是真的很肥油漆:)
trailPaint = new Paint();
trailPaint.setStyle(Paint.Style.STROKE);
trailPaint.setColor(color);
trailPaint.setStrokeWidth(radius * 2);
trailPaint.setAlpha(150);
發佈您的代碼至少 – Dimezis
做了@Dimezis – Ircover
@Ircover可以發佈完整的代碼,以便我可以複製該問題。 – Gattsu