I am trying to put an ImageView between 2 moving ball objects. Using a path drawer is not possible since I try to avoid the OnDraw method because of its limitations(60 refreshes/second). The 2 ball objects are continuously moving on the screen (but always with the same distance from each other). Since the x and y coordinates are always changing, it would be nice to set the endpoints of the 'stick' object to the 2 positions where the 2 balls are standing in that specific scenario, and of course, when they have moved, reset the stick between the new endpoints.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ball = (ImageView) findViewById(R.id.ball);
ball2 = (ImageView) findViewById(R.id.ball2) ;
widthMiddle = getWindowManager().getDefaultDisplay().getWidth() / 2;
heightMiddle = getWindowManager().getDefaultDisplay().getHeight() / 2;
timer.schedule(new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
@Override
public void run() {
x1 = widthMiddle + r1 * (float)Math.sin(Math.toRadians(a1));
y1 = heightMiddle + r1 * (float)Math.cos(Math.toRadians(a1));
x2 = x1 + r2 * (float)Math.sin(Math.toRadians(a2));
y2 = y1 + r2 * (float)Math.cos(Math.toRadians(a2));
a1 += 1.0;
a2 -= 2.0;
draw();
}
});
}
}, 0, 3);
}
public void draw(){
ball.setX(x1);
ball.setY(y1);
ball2.setX(x2);
ball2.setY(y2);
}
Now for the testing purposes, the ball1 object is swinging around the midpoint of the screen, and the ball2 is just doing the same around the ball1 object.
Please login or Register to submit your answer