this is a very interesting thing ive come across. one of the things that chapter 8 in the textbook teaches us is how to make a ball move inside a box and once it hits the walls it is to bounce off. i was able to do that. now im trying to make the balls move but i want them to move only in a straight line and if they hit a wall bounce back. the rotation for them is initially 90 and once they hit the wall they are to make a complete turn and come back at a rotation of 270. but the code im putting in doesnt work. the ball initially moves at a rotation of 90 but when it hits the wall it stays there. here is the code
this is what i tried first
so where am i wrong?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public void bounce() { int x = getX(); int y = getY(); setRotation( 90 ); move( 5 ); if (x == getWorld().getWidth() - 1 || x == 0 || y == 0 || y == getWorld().getHeight() - 1 ) { if (getRotation()== 90 ) { setRotation( 270 ) ; } if (getRotation() == 270 ) { setRotation( 90 ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public void bounce() { int x = getX(); int y = getY(); setRotation( 90 ); move( 5 ); if (x == getWorld().getWidth() - 1 || x == 0 || y == 0 || y == getWorld().getHeight() - 1 ) { setRotation(- getRotation()) ; } } |