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.quadTo を使用していることに気付きましたが、これは mPath.lineTo であるべきだと思っていたので試してみました。以下は私のコードです:
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;
}
}
次に、もう一度試してみましたが、違いはないようです。なぜGoogleはquadToを使用するのですか?
Game Program で quadTo を使用してフィンガー ペイントを描画していると聞きましたが、なぜですか? 助けてください... thx