Java-Gaming.org Hi !
 Featured games (90) games approved by the League of Dukes Games in Showcase (714) Games in Android Showcase (214) games submitted by our members Games in WIP (787) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 2D breakout type deflections  (Read 3215 times) 0 Members and 1 Guest are viewing this topic.
DrQuincy

Junior Devvie

Vwls hv bn bnnd!

 « Posted 2006-07-21 12:27:18 »

Hi

Can someone point me in the right direction of the maths behind sending a ball at a certain angle and then it bouncing off (like in the Breakout games).

Thanks.
CommanderKeith
 « Reply #1 - Posted 2006-07-22 03:16:54 »

Its a little more involved than this, but as a starting point:

Give the moving object maxSpeed and x & y velocities.  Figure out if the moving object is going to hit the 'wall' (line) & get the point of impact.  Use trigonometry on the x & y velocities to figure out the angle that its approaching the line, then figure out the angle it will bounce off it.  Use this new angle to give the object a new x & y velocity.

To simplify the angle calculations, make all of your polygons which comprise your obstacles/walls list their points in the same anti-clockwise direction.

I hope that helped,
Keith

JAW

Senior Devvie

Medals: 2

 « Reply #2 - Posted 2006-09-05 22:06:50 »

Generally, get the angle of impact and reflect in the same angle.
If you only have vertical and horizontal bouncing like Breakout or Pong, inverting the x or y velocity does it.

-JAW
Orangy Tang

JGO Kernel

Medals: 57
Projects: 11

 « Reply #3 - Posted 2006-09-05 22:10:04 »

If you only have vertical and horizontal bouncing like Breakout or Pong, inverting the x or y velocity does it.
Except that thats not how breakout does it. In breakout, the closer to the edge of the bat the sharper the angle the ball bounces off at. IIRC the input angle isn't taken into account at all.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
oNyx

JGO Coder

Medals: 2

pixels! :x

 « Reply #4 - Posted 2006-09-06 00:37:41 »

[...]
Except that thats not how breakout does it. In breakout, the closer to the edge of the bat the sharper the angle the ball bounces off at. IIRC the input angle isn't taken into account at all.

Yea thats how its done in classic breakout games. However, in most modern breakouts the bumper is arced and the ball is bounced off in a realistic manner... its sorta more intuitive to use.

Amos Wenger

Senior Devvie

Everything's possible, but not everything's fun...

 « Reply #5 - Posted 2006-09-06 13:55:11 »

[...]
Except that thats not how breakout does it. In breakout, the closer to the edge of the bat the sharper the angle the ball bounces off at. IIRC the input angle isn't taken into account at all.

Yea thats how its done in classic breakout games. However, in most modern breakouts the bumper is arced and the ball is bounced off in a realistic manner... its sorta more intuitive to use.
Yeah but it then results in a slightly different gameplay which is, in my opinion, less powerful (yet simpler).

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Pages: [1]
 ignore  |  Print

You cannot reply to this message, because it is very, very old.

 CopyableCougar4 (39 views) 2017-03-24 15:39:42 theagentd (25 views) 2017-03-24 15:32:08 Rule (92 views) 2017-03-19 12:43:22 Rule (79 views) 2017-03-19 12:42:17 Rule (89 views) 2017-03-19 12:36:21 theagentd (98 views) 2017-03-16 05:07:07 theagentd (98 views) 2017-03-15 22:37:06 theagentd (92 views) 2017-03-15 22:32:18 theagentd (90 views) 2017-03-15 22:31:11 ral0r2 (138 views) 2017-03-03 11:52:41
 basil_ 20x philfrei 15x Apo 11x dime26 10x Archive 9x FrozenShade 9x bornander 7x KaiHH 7x FabulousFellini 7x SteveSmith 7x princec 7x Riven 6x CJC 6x Spasi 6x orangepascal 5x theagentd 5x
 List of Learning Resourcesby elect2017-03-13 14:05:44List of Learning Resourcesby elect2017-03-13 14:04:45SF/X Librariesby philfrei2017-03-02 08:45:19SF/X Librariesby philfrei2017-03-02 08:44:05SF/X Librariesby SkyAphid2017-03-02 06:38:56SF/X Librariesby SkyAphid2017-03-02 06:38:32SF/X Librariesby SkyAphid2017-03-02 06:38:05SF/X Librariesby SkyAphid2017-03-02 06:37:51
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org