Bonjour a tous ! Je suis en train de me crée un petit jeu de labyrinthe et je rencontre un petit problème donc c’est pour cela que j’ai besoin de l’aide d’une personne plus expérimenter que moi qui suis novice.
Alors voici mon problème : j’aimerai pouvoir donner une entière liberté a un boulet de circuler dans mon labyrinthe en le faisant rebondir dans tous ce qu’il rencontre (mur…). J’ai donc pris l’exemple du jeu de pong fourni avec game develop mais mon boulet ne rebondit pas soit il traverse les mur soit il bute contre le mur et fini par le traverser.
Merci de bien pouvoir me repondre
Bonjour Ben
La ça va plutôt dans aide a la création mais bon…
Moi je suis expérimenté mais pas tout a fait dans ce domaine
Si tu veut mon avis commence par crée des jeux simple et pas hyper complexes
J’ai voulu commencé par un gros mario bros et …0.5 et 0.7 sont pourris
Mais aujourd’hui j’ai fait d’autres projets et la ils commencent a êtres bien
Vraiment si tu veut faire ça je suis désolé mais les angles de l’exemple ça doit être le seul truc que je n’ai as compris
Autre chose:
Pour que quelqu’un d’autre puisse t’aider:
Fait une capture d’écran de tes évènements afin que l’on puisse localiser le problème
je voudrai bien t’envoyer mes action et évènement Crone123 mais je n’arrive pas a inséré une image dans mon sujet texte :
En bas:
Ajouter des fichiers joints
Pour faire une capture d’écran c’est sur le bouton du clavier impr écran Syst
utilise ensuite paint.et(comme pour tes graphismes) mais pour sélectionner juste tes évènement afin que l’images soit acceptée par le forum
Tu ne peut en mettre que 3 d’un coup
Donc si tu veut en mettre plus:
Tu te crée un site et tu héberge
Et si tu n’arrive pas a faire ça envoie moi pas mail tes images je me chargerais de les afficher
Mon mail est normalement sur mon profil
Tout d’abord merci a toi crone 123 pour t’es explication qui me fut d’une grande utilité!
voici mes evenement :[attachment=0]evenement1.png[/attachment].
si vous voyez quelque chose a modifier pour que ça fonctionne merci de me le faire savoir.
Bonjour,
Si tu écartes ton boulet du mur uniquement quand il est en collision avec lui, il s’arrêtera dès qu’il ne sera plus en collision.
Il faut donc lui ajouter une force, à toi de la calculer.
J’ai essayer d’ajouter une force a mon boulet, mais le problème est qu’il traverse toujours les mur alors soit je n’ai pas pas ajouter les bonne force soit le problème ne vient pas de là. Si vous avez autre chose a me proposer? moi je cherche de mon coter si je trouve la solution, je vous le fait savoir.
Bonjour,
Dans tes actions avec les force → Met 1 en dissipation
Bonjour, tu parle pour mes force par angle déjà existante sur mon impr/ecran? car pour ces force j’ai deja mis 1 en dissipation.
L’action d’écartement semble superflue.
Il faut juste utiliser des actions similaires à celle de l’exemple Pong ( Arrêt de l’objet, Changement de direction, ajout d’une force permanente avec une dissipation de 1 dans la direction souhaitée ). Il faut donc utiliser différents objets pour chaque orientation de mur ( Par exemple, pour un rectangle, bien utiliser quatres objets “Haut”, “Bas”, “Gauche”, “Droite”. ).
Pour les rebonds, voici comment je procède :
si le boulet est en collision avec le mur
mettre dans la variable vitesse1 la moyenne des forces de boulet
mettre dans la variable angle1 l’angle moyen des forces de boulet
arrêter boulet
calculer angle2
calculer vitesse2
ajouter à boulet une force d’angle angle2, de longueur vitesse2 et de dissipation 1
calcul de vitesse2
Si l’élasticité est parfaite, inutile de se casser la tête, on met vitesse1 à la place de vitesse2.
Si on veut un rendu réaliste, le boulet perdra un peu de vitesse à chaque rebond :
vitesse2=k*vitesse1 où k est un coefficient d’élasticité
par exemple k=0.98 pour un objet en acier, k=0.9 pour un mur en béton, k=0.7 pour un mur en pierre tendre etc… (il faut faire des essais)
calcul de angle2
Pour un mur horizontal, angle2 est l’opposé de angle1 (ou 360 - angle1)
Pour un mur vertical, angle2 = 180 - angle1
Pour un mur oblique, faisant un angle m avec l’horizontale :
angle2=2*m-angle1 (cette formule est cohérente avec les 2 cas particuliers.)
Je ne sais pas si ça te servira, mais je te souhaite de réussir ton jeu.
Edit : j’avais fait une petite erreur, c’est corrigé
bonjour 4ian j’ai fait se que tu m’a dit, ça fonctionne pour les mur horizontaux et les bric horizontales mais pas avec les verticales ça doit être un problème d’angle car j’ai mis les même pour les deux soit : -OBJ(boulet[ValeurAngle])+VAL(random[20])-VAL(random[20]). Au sinon c’est mieux qu’avant car le boulet a un déplacement plus fluide et ne reste plus coller le long du mur.
Pardonne moi clique mulot je n’avait pas vu ton message je vais essayé de faire se que tu me propose. Je risque de ne plus répondre pendant un petit moment car mon jeu était un travail que j’avais a faire pendant un stage en entreprise je souhaite bien sur le continuer mais pour le moment mon pc personnel ne me permet pas de supporter game develop. Merci a tous ceux qui mon aider.