我目前工作的一個2D安卓遊戲,我們如何定義的ViewObject(位圖)的動態(拋物線曲線)路徑
在這場比賽中的一個的ViewObject(位圖)正在穿越屏幕在Parabola Path像這張圖片一樣,但是這個路徑是靜態的,靜態路徑正在通過帆布上的Fingure繪圖,
和簽名圖一樣。
位圖移動代碼在此靜態路徑是
//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(位圖)在動態路徑(拋物線曲線) &動態曲線路徑將在任何設備中工作。
我已搜索批次,但我不能找到解決方案如何獲得動態路徑(在拋物線曲線)。
幫助!如果你有任何解決方案,建議,想法,關於這篇文章的教程是大多數讚賞。
什麼是一個偉大的答案,感謝它的工作非常感謝你 –
沒問題!很高興幫助! – caiocpricci2