Pb de collisions en Java3d

Pb de collisions en Java3d - Java - Programmation

Marsh Posté le 06-06-2004 à 19:26:14    

bonjour a tous
 
dans le cadre d'un projet, je dois coder un casse brique genre arkanoid en 3d (c'est a dire avec des briques en cube et une palette en rectangle et non pas un ligne, et donc la palette se deplace dans un plan)
 
et en fait, je vais de problemes en problemes...  
mon dernier probleme, c'est dans la gestion des collisions, et c'est tres bete:
j'arrive a afficher des objets  
je les fait bouger avec un Pathinterpolator
je détecte les collisions
j'arrive a changer la direction des objets une fois la collision faite
 
mais ce changement de collision est arbitraire, je lui dit d'aller dans telle direciton...
 
Prenons un exemple de mon probleme:
un cube fixe, un balle qui fonce vers ce cube  (assez banal dans un casse brique quand mm ;)  )
et ben une fois la collision faite, je ne sais pas dire sur quelle face du cube je rebondis... si je rebondis sur la face vers l'utilisatuer, ou la face en dessous etc etc... et donc, impossible de faire des rebons cohérnts puisque je ne connais pas la trajectoire que devra ensuite prendre la balle...
 
alors ca parait assez bete comme probleme dit comme ca... mais la je me prends vraiment la tete...
donc si certains d'entre vous ont des idées... ou de vagues concepts, ou alors une classe miracle qui ferait des rebonds tout seul... ;)
 
merci bcp
 
maj, apprenti codeur, et qui a encore bcp a apprendre

Reply

Marsh Posté le 06-06-2004 à 19:26:14   

Reply

Marsh Posté le 08-06-2004 à 13:04:24    

c moche mais j'aimerais bien faire remonter le message dans la liste...
dsl

Reply

Marsh Posté le 08-06-2004 à 13:10:53    

maj a écrit :

c moche mais j'aimerais bien faire remonter le message dans la liste...
dsl

C'est toléré comme pratique : faire un up --> :bounce:

Reply

Marsh Posté le 08-06-2004 à 13:44:27    

bonjour
je fais aussi de la 3D java (apllets)
tu risques avior ceci si tu es sous w,sinon merci de me dire comment tu fais pour outrepasser:
 
"le point d'entrée de procedure DdEntry12 ets introuvable dans la dll DDRAW.dll"  
j'ai changé ma verion 7.0 de directx pour la 9.0 rien n'y fait.

Reply

Marsh Posté le 09-06-2004 à 16:07:07    

dsl, xerces, mais je n'ai jamais eu ce problème la!!
il te le fais a chaque fois ou tu arrive quand mm a exec tes applets?

Reply

Marsh Posté le 11-06-2004 à 17:24:06    

seabee a écrit :

faire un up --> :bounce:


bon bah, :bounce: alors :(

Reply

Marsh Posté le 11-06-2004 à 17:40:37    

Faudrait qu'on puisse savoir comment tu gères les collisions... C'est une fonctionnalité de java3D ?

Reply

Marsh Posté le 11-06-2004 à 18:29:22    

Et si tu mémorisais la position précédente de ta balle? Tu pourrais ainsi savoir si le segment franchi est vertical ou horizontal!

Reply

Marsh Posté le 12-06-2004 à 11:19:27    

Un modele simpliste constiste a ajouter a la vitesse horizontale de ta balle la vitesse horizontale de la raquette au moment de l'impact. Si ta raquette etait immobile, la balle rebondit betement, si ta raquette allait dans le meme sens, elle lui donne une impulsion supplementaire, sinon elle la ralentit. C'est un debut, faut bien sur raffiner

Reply

Marsh Posté le 13-06-2004 à 10:53:32    

Ok, merci bien. Pour l'instant, je reparts deuis la base du mouvement, et donc a tous maitriser... on verra si ca marche... Mon problème était en fait lorsque j'utilisais un position interpolator et que je détectais les collisions avec un extends de behavior et en me servant des evènements collisionEntry et collisionExit : la, je n'arrivais mm pas a récuperer les coordonnées de la balle !!
impossible donc de savoir sur quel côté du cube je tapais!
 
L'un de vous saurez comment faire des collisions avec dse interpolators, et surtout faire des rebonds ensuite?
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed