1. #1
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    décembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 2
    Points : 9
    Points
    9

    Par défaut [2D] comment faire un systeme de collisions ?

    Bonjours tous le monde moi c'est Lco1, je suis étudiant et j'aimerai avoir l'aide aide de votre forum sur un problème que l'on arrive pas a résoudre avec mon groupe.

    L'idée générale était de créer un jeu 2D pour notre projet : un chat qui collecte des beignets et un chiffre qui représente le score augmente en fonction des beignets récoltés (relativement simple... enfin pour ceux qui s'y connaissent).
    On a fait ce jeu via Algoscript ( http://algoscript.info/ ).
    Donc on s'est repartit le boulot à faire et la je tombe sur la partie où je dois faire le système de collision des beignets (statique) et en même temps lier le score avec la collision des beignets, sur le papier sa a l'air simple mais quand on a pas la base pour le faire sa devient très vite compliqué (info a prendre en compte, je ne suis pas en L1 d'informatique mais en L1 PCGSi --> Physique Chime Géoscience et Science de l’ingénieur).

    Est-ce que quelqu'un pourrai nous passer au moins les codes pour pouvoir avancer, ou au moins des aides qui peuvent m'aider, je suis en grosse galère...

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    mai 2010
    Messages
    2 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : mai 2010
    Messages : 2 119
    Points : 6 051
    Points
    6 051

    Par défaut

    un code tout prêt je doute que en t'en donnera un.

    Après tout dépend de quel type de collision tu parle , j'imagine que dans ton cas c'est rectangle/rectangle , ça c'est pas très compliqué a faire.
    Si tu veux faire des murs , il faut juste deja faire un système de vitesse le reste sera beaucoup plus simple a réaliser !

    Mais si tu disais ce que tu ne savais pas faire exactement on pourrait être plus précis

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    décembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 18
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : décembre 2017
    Messages : 2
    Points : 9
    Points
    9

    Par défaut

    le système de vitesse est déjà prêt, on l'avait créer pendant le cour ^^ et je sais que j'aurai pas le code en un claquement de doigts, on apprend rien d'un code déjà tout prêt :p
    Sinon a mon avis oui sa doit être une collision rectangle rectangle, le seul problème, c'est que je sais pas par ou commencer sur cette partie et puis j'ai pas d'exemple de fonction de collision que je puisse exploiter, c'est souvent des problèmes déjà résolut mais pour un autre langage de programmation (HTML par exemple).

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    4 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 4 712
    Points : 19 435
    Points
    19 435

    Par défaut

    Tu as le rectangle de ton chat, les rectangles de chaque beignet. Pour détecter une collision, il faut que les rectangles collisionnent.
    Avec un simple dessin sur une feuille tu devrais trouver une formule très rapidement, en fonction des coordonnées des rectangles, en bouclant sur l'ensemble des beignets de ton niveau.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre émérite Avatar de yildiz-online
    Homme Profil pro
    Architecte technique
    Inscrit en
    octobre 2011
    Messages
    742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : octobre 2011
    Messages : 742
    Points : 2 592
    Points
    2 592

    Par défaut

    Vu que c'est des beignets, doit y avoir moyen de faire des collisions cercle-cercle (voir d'utiliser 2 cercles pour le chat au besoin) et là !a devient excessivement simple, suffit de comparer la distance entre les points des cercles et la taille des rayons.
    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/07/2017, 15h32
  2. [system join ]Comment faire pour relier les tables systems?
    Par zoltix dans le forum MS SQL-Server
    Réponses: 1
    Dernier message: 16/11/2007, 08h52
  3. Réponses: 2
    Dernier message: 22/10/2007, 15h33
  4. Comment faire pour forcer le system.in.read?
    Par diditin dans le forum IO
    Réponses: 1
    Dernier message: 07/12/2006, 15h22
  5. Systeme de vote pour photos, comment faire ?
    Par Stu'z dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 21/09/2005, 20h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo