2

私はアンドロイドのアニメーションが初めてです。YouTubeで見つけたチュートリアルを使用しています。アプリはキャンバスにボールの絵を描き、斜めに移動します。ボールを円形に動かしたいです。円運動の基本的な数学に関する情報をいくつか見つけましたが、それを実装するのに問題があります。誰かが私のコードを見て、私が間違っていることを教えてくれませんか。ありがとう。

これが私のコードです:

public class DrawingTheBall extends View {

Bitmap bball; 
int x,y;

public DrawingTheBall(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    bball = BitmapFactory.decodeResource(getResources(), R.drawable.blueball);
    x = 0;
    y = 0;
}

@Override
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;
    double theta = 0;
    theta = Math.toRadians(45);

    Paint blue = new Paint();
    blue.setColor(Color.BLUE);
    blue.setStyle(Paint.Style.FILL);

    canvas.drawRect(ourRect, blue);

    if(x < canvas.getWidth()){
        //x += 10;
        x = (int) (a +r*Math.cos(theta));
    }else{
        x = 0;
    }
    if(y < canvas.getHeight()){
        //y += 10;
        y = (int) (b +r*Math.sin(theta));
    }else{
        y = 0;
    }
    Paint p = new Paint();
    canvas.drawBitmap(bball, x, y, p);
    invalidate();
}

}

4

3 に答える 3