我在玩游戏,我正在使用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);
}