我想在路径上创建移动箭头,如下所示:
怎么可能做到?
编辑:
我以这种方式成功地创建了这些移动箭头:我将路径划分为相同的部分,并在每个部分的开头放置了一个箭头。然后所有箭头的位置都会定期更新,当它们结束时,我只是将它们的位置设置为开始。
移动我使用沿路径移动对象的示例实现的箭头。现在的问题是我想让箭头在路径的中间,而不是在它的上方或下方。怎么可能做到?
这是 onDraw 方法:
@Override
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(bmBackground, rSrc, rDest, null);
canvas.drawPath(ptCurve, paint);
//animate the sprite
Matrix mxTransform = new Matrix();
if (iCurStep <= iMaxAnimationStep) {
pm.getMatrix(fSegmentLen * iCurStep, mxTransform,
PathMeasure.POSITION_MATRIX_FLAG + PathMeasure.TANGENT_MATRIX_FLAG);
mxTransform.preTranslate(-bmSprite.getWidth(), -bmSprite.getHeight());
canvas.drawBitmap(bmSprite, mxTransform, null);
iCurStep++; //advance to the next step
invalidate();
} else {
iCurStep = 0;
}
}
路径测量在哪里pm
。