Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (581)
games submitted by our members
Games in WIP (500)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  LibGDX - Box2D - Body interaction  (Read 862 times)
0 Members and 1 Guest are viewing this topic.
Offline maritnradev

Junior Newbie





« Posted 2013-09-24 22:17:43 »

I am working on a simple space shooter where I (the player) control a ship and shoot at other ships (the enemy).
I have decided to use Box2D just in case if I decide to add more features to the game.
However, I am a little confused how to do the interactions.
All of the objects in the world are bodies (obviously), even the lasers/bullets.
However, when two bodies collide, one of the bodies gives it's momentum to the other body. How can I stop that and at the same item to use a ContactListener?
I am using DynamicBodies to be sure that I can use the ContactListener.

In fact, what is the best way to make that kind of interaction - between a bullet and a body.
Offline namrog84

JGO Ninja


Medals: 46
Projects: 4


Keep programming!


« Reply #1 - Posted 2013-09-26 01:02:36 »

You likely want to use 'sensors'
just search for box2d sensors

You can declare a body to be a sensor,  and thus it doesn't 'collide' with things,  but can still maintain everything else you want

Also, alternatively, you could have a 'filter' so that certain things don't collide with certain other things as well. which can be useful in some circumstances.



"Experience is what you get when you did not get what you wanted"
Offline StumpyStrust
« Reply #2 - Posted 2013-09-26 09:38:23 »

I am not a pro by any means with box2D but one thing you should definitely do is create a class that implements the Box2DUserData. This can be set on each body and can have what ever info you want. Inside you contact listener you can filter out certain objects by group or ID or w/e and set values in your User data to indicate collisions or forces of collisions. I think the filter and sensor may be better if you do not want the bullets to apply some force to the bodies.

It took me a bit to sift through the poo tutorials on the internet to figure much out.

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline maritnradev

Junior Newbie





« Reply #3 - Posted 2013-09-26 16:29:42 »

Thank you for your comments. I found that there is a ContactFilter which solved my problem Smiley
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.

xsi3rr4x (54 views)
2014-04-15 18:08:23

BurntPizza (53 views)
2014-04-15 03:46:01

UprightPath (66 views)
2014-04-14 17:39:50

UprightPath (49 views)
2014-04-14 17:35:47

Porlus (66 views)
2014-04-14 15:48:38

tom_mai78101 (90 views)
2014-04-10 04:04:31

BurntPizza (151 views)
2014-04-08 23:06:04

tom_mai78101 (246 views)
2014-04-05 13:34:39

trollwarrior1 (204 views)
2014-04-04 12:06:45

CJLetsGame (211 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
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
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!