Partage
  • Partager sur Facebook
  • Partager sur Twitter

Collisions entre tiles de 32 * 32

Edit : jar inclu sans collision pour mieux comprendre le pb

Sujet résolu
Anonyme
    3 mai 2010 à 16:36:27

    EDIT : Voici le jar pour bien comprendre le probleme. Jar Rpg


    Bonjour à vous.

    Alors, voilà que j'avance mon projet de RPG 2D, mais la, je suis bloqué sur un point : Les collisions Perso - Décors (Le comble :p )

    Je vous explique tout d'abord mon système de map. Donc tout d'abord, comme vous vous doutez, j'utilise un tableau à 2 dimensions. La map est composée de 4 couches différente, la première étant le sol, la deuxième diverses décorations pour le sol, la troisième les objets interactifs avec le personnage (Rocher, tronc d'arbre, mur de maison (c'est donc celle la qui me pose problème ^^ )) enfin la quatrième, les objets "toit".


    Alors voila ! Chaque morceaux de la carte possède un attribut "true" ou "false" que je recupère grace a une methode "getPraticable()".
    Je verifie donc si les cases autour sont "praticable" avant le déplacement, mais cela ne fonctionne pas comme je le voudrais, le personnage s'arrete au milieu de la case, ou alors bien avant...
    Je rappel que le personnage se déplace de pixel en pixel via animation, et que toutes les sprites font 32 * 32 (personnage, et décors)

    Est-ce que le décalage de pixel du à la barre titre de la fenêtre peu en être la cause ?


    Merci à vous.
    • Partager sur Facebook
    • Partager sur Twitter
      3 mai 2010 à 19:16:19

      Sache que chez moi, ça scintille énormément :) (= rafraîchissements bien trop lents).
      Conseil : charge ton tileset une bonne fois pour toutes dans le constructeur.
      C'est très coûteux de charger une image. Et ta méthode draw() sera appelée à priori autant de fois que ton nombre de FPS désiré. Et charger le tileset à chaque fois c'est bien trop long.
      Voilà c'est juste une amélioration qui me saute aux yeux, mais y'en aura sûrement d'autres.

      Pour ton problème de collision malheureusement je vois pas tout de suite.
      Comment dire... Y'a trop de chiffres dans ton code. Trop de données renseignées en dur ce qui fait qu'on ne sait pas à quoi elles correspondent (pour quelqu'un qui est étranger à ton code en tout cas... et même toi dans deux mois t'auras oublié).
      Essaie de sysout la position de ton décor et la position de ton personnage voir si déjà au niveau logique il y'a collision.
      S'il n'y a pas de soucis au niveau des variables, c'est un problème d'affichage, et ça sera un peu plus chaud à régler.

      Bon courage camarade !
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 mai 2010 à 20:53:35

        Ok merci, je recherchais justement un moyen d'effacer ce scintillement ^^' Merci du conseil :)

        Pour les chiffres, je vais continuer les débug pour voir ce que je peux en tirer.
        (C'est vrai que pour les sources ça fait un peu desordre.. Mais il les faut pour que les gens voit le problème ^^')

        EDIT : Voila, j'ai rajouter un double buff sur la RAM, ca ne scintille plus (du moins chez moi ^^ )
        Merci pour la piste elmh

        Problème résolu. Merci. Le système est a améliorer, mais il est fonctionnel ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Collisions entre tiles de 32 * 32

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown