我昨天发布了这个问题,我得到了一些有用的帮助,但无法解决问题。只是想我会继续努力。
好的。我正在尝试让球在 Android 的画布上绕圈移动。在做了一些研究并阅读了一些类似的问题之后——我想我把逻辑搞定了,但形状仍然是静止的。基本上我在做 x = a +rcos(theta), y = rain(theta)。我不确定问题是什么。我的代码如下。有谁知道我做错了什么?我已经阅读了其他问题,但不知道为什么我不能让它工作。
public class DrawingTheBall extends View {
Bitmap bball;
int x,y, theta;
public DrawingTheBall(Context context) {
super(context);
// TODO Auto-generated constructor stub
bball = BitmapFactory.decodeResource(getResources(), R.drawable.blueball);
x = 0;
y = 0;
theta = 45;
}
public void onDraw(Canvas canvas){
super.onDraw(canvas);
Rect ourRect = new Rect();
ourRect.set(0, 0, canvas.getWidth(), canvas.getHeight()/2);
float a = 10;
float b = 10;
float r = 20;
theta = (int) Math.toRadians(10);
Paint blue = new Paint();
blue.setColor(Color.BLUE);
blue.setStyle(Paint.Style.FILL);
canvas.drawRect(ourRect, blue);
if(x < canvas.getWidth()){
x = (int) (a +r*Math.cos(theta));
}else{
x = 0;
}
if(y < canvas.getHeight()){
y = (int) (b +r*Math.sin(theta));
}else{
y = 0;
}
Paint p = new Paint();
canvas.drawBitmap(bball, x, y, p);
invalidate();
}
}