私はゲームをしていて、 を使用していSurfaceView
ます。ゲームでは、25 個の小さなドットが動き回っています。目標は、プレーヤーが同じ色のいくつかのドットの周りに円を描くゲームを作成することです。私の問題は、この円を描いているときに画面から指を離した後、すべてのドットが非常にゆっくりと動いていることです! この理由は、すべてのドットと一緒に常に描画されているすべての線分にあると思います。
ドットの移動速度を常に同じにすることは可能ですか? でテストしましSystemClock.Sleep(1)
たが、あまり役に立ちませんでした。
// Method to draw objects
private void drawObjects(Canvas canvas) {
SystemClock.sleep(1);
synchronized (this) {
// Clear screen with black color
canvas.drawRGB(0, 0, 0);
// Draw line
if(startDrawLine) {
// Set properties to Paint object
paint.setColor(Color.WHITE);
paint.setStrokeWidth(5);
paint.setStyle(Paint.Style.STROKE);
paint.setAntiAlias(true);
// Draw path
path.moveTo(touchDownX, touchDownY);
for(Point point: points) {
path.lineTo(point.x, point.y);
canvas.drawPath(path, paint);
}
path.reset();
}
}
// Call method draw() in CircleManager to draw all circles in list
circleManager.drawCirclesInList(canvas);
}