【发布时间】:2025-12-19 14:40:11
【问题描述】:
我是编程新手,大部分时间都是自学和使用书籍,并从其他人在此论坛上提出的问题中获得了很多帮助。 我目前正在为假人开发 android 游戏,遇到了几个问题,其中大部分我已经能够自己解决,但是我无法解决这个编译器错误。它无法识别代码中的 canvas.drawCircle。我不知道为什么。 非常感谢任何帮助或想法。 提前致谢 汤姆
public class CrazyEightsView extends View {
private Paint redPaint;
private int circleX;
private int circleY;
private float radius;
public CrazyEightsView(Context context) {
super(context) ;
redPaint = new Paint();
redPaint.setAntiAlias(true);
redPaint.setColor(Color.rgb(99, 00, 00));
circleX=100;
circleY=100;
radius=30;
}
@Override
public void onDraw (Canvas canvas) {
}
public boolean onTouchEvent (MotionEvent event) {
int eventaction = event.getAction();
int X =(int)event.getX();
int Y =(int)event.getY();
switch (eventaction){
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
break;
case MotionEvent.ACTION_UP:
circleX = X;
circleY = Y;
break;
invalidate();
return true;
}
canvas.drawCircle (circleX, circleY, radius, redPaint);
}
}
【问题讨论】:
-
在draw方法里面移动这个canvas.drawCircle(circleX, circleY, radius, redPaint); invalidate() 将刷新平局。
标签: android canvas touch-event