私は現在、One 2D Android Gameに取り組んでいます。
このゲームでは、1 つのViewObject(ビットマップ)が放物線のパスで画面を横切って移動しています。
署名の図面と同じ。
この静的パスのビットマップ移動コードは
//animation step
private static int iMaxAnimationStep = 900;
private int iCurStep = 0;
private Path ptCurve = new Path(); //curve
private PathMeasure pm; //curve measure
private float fSegmentLen; //curve segment length
//init smooth curve
PointF point = aPoints.get(0);
ptCurve.moveTo(point.x, point.y);
for(int i = 0; i < aPoints.size() - 1; i++){
point = aPoints.get(i);
PointF next = aPoints.get(i+1);
ptCurve.quadTo(point.x, point.y, (next.x + point.x) / 2, (point.y + next.y) / 2);
}
pm = new PathMeasure(ptCurve, false);
fSegmentLen = pm.getLength() / iMaxAnimationStep;//20 animation steps
//animate the Bitmap
Matrix mxTransform = new Matrix();
if (iCurStep <= iMaxAnimationStep)
{
pm.getMatrix(fSegmentLen * iCurStep, mxTransform,
PathMeasure.POSITION_MATRIX_FLAG);
mxTransform.preTranslate(-Bitmap.getWidth(), -Bitmap.getHeight());
canvas.drawBitmap(Bitmap, mxTransform, null);
iCurStep++; //advance to the next step
mPauseViewHandler.post(mPauseViewRunnable);
} else {
iCurStep = 0;
}
しかし、私の問題は、このViewObject(ビットマップ)を動的パス(放物線曲線)に移動したいことです。その 動的曲線パスは、どのデバイスでも機能します。
多くを検索しましたが、動的パスを取得する方法 (放物線曲線) の解決策を見つけることができません。
ヘルプ!この投稿に関する解決策、提案、アイデア、チュートリアルがあれば、大歓迎です。