Android 的 APIDemos 中有一个 FingerPaint 演示。下面是手指在屏幕上移动时的代码。
private void touch_move(float x, float y) {
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
mPath.quadTo(mX, mY, (x + mX) / 2, (y + mY) / 2);
mX = x;
mY = y;
}
}
我注意到这个演示使用了我认为应该是 mPath.lineTo 的 mPath.quadTo,我试过了。下面是我的代码:
private void touch_move(float x, float y) {
float dx = Math.abs(x - mX);
float dy = Math.abs(y - mY);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
mPath.lineTo(x, y);
mX = x;
mY = y;
}
}
然后我又试了一次,好像没什么区别,为什么谷歌要用quadTo?
我听说在游戏程序中,他们使用 quadTo 来绘制手指画,但为什么呢?请帮助...谢谢