Java-Gaming.org Hi !
 Featured games (83) games approved by the League of Dukes Games in Showcase (539) Games in Android Showcase (132) games submitted by our members Games in WIP (603) 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 2526 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: 56
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.

 Add your game by posting it in the WIP section, or publish it in Showcase. The first screenshot will be displayed as a thumbnail.
 rwatson462 (36 views) 2014-12-15 12:26:44 Mr.CodeIt (29 views) 2014-12-14 22:50:38 BurntPizza (61 views) 2014-12-10 01:41:13 BurntPizza (98 views) 2014-12-08 07:46:31 JscottyBieshaar (58 views) 2014-12-05 15:39:02 SHC (74 views) 2014-12-03 19:27:13 CopyableCougar4 (76 views) 2014-11-30 00:32:03 toopeicgaming1999 (137 views) 2014-11-26 18:22:04 toopeicgaming1999 (127 views) 2014-11-26 18:20:36 toopeicgaming1999 (37 views) 2014-11-26 18:20:08
 Rayvolution 42x basil_ 31x HeroesGraveDev 27x LiquidNitrogen 27x kpars 19x BurntPizza 19x appel 17x kevglass 17x Gibbo3771 15x gouessej 14x princec 14x NegativeZero 13x SHC 11x Ecumene 11x Riven 11x pitbuller 9x
 Resources for WIP gamesby kpars2014-12-18 13:26:14Understanding relations between setOrigin, setScale and setPosition in libGdx2014-10-10 01:35:00Definite guide to supporting multiple device resolutions on Android (2014)2014-10-03 01:36:02List of Learning Resources2014-08-16 13:40:00List of Learning Resources2014-08-05 22:33:27Resources for WIP games2014-08-01 19:20:17Resources for WIP games2014-08-01 19:19:50List of Learning Resources2014-07-31 19:29:50
 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