昨日この質問を投稿しました。役に立つ助けがありましたが、問題を解決できませんでした。がんばろうと思っただけです。
Ok。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();
}
}