IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Pentes à 45°


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut Pentes à 45°
    Bonjour

    actuellement j'essaie de développer un jeu en C avec la sdl, j'ai eu quelques soucis, mais j'ai réussi en quelques jours à trouver la solution, hors là...

    Je m'arrache les cheveux, aidez moi svp

    J'utilise cette formule qui marche trés bien lorsque je monte de gauche vers la droite /, parmis plusieurs essai j'avais réussis la montée et la descente d'une pente /, mais l'autre pente impossible \, ainsi que le saut mais je me suis perdu dans mes idées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    sx = entity->x + (entity->w>>1) + entity->dirX;
     
    ///Mon y lorsque je ne bouge pas, implémenté dans  player.dirY >0
    entity->y = (y2-1)*TILE_SIZE + ((sx%TILE_SIZE)) -entity->h- 1
     
    ///Mon y lorsque je bouge , moi je l'ai mis dans player.dirX
    entity->y = (y2+1)*TILE_SIZE - entity->h -1;
     
    ///Mon point de collision
    PX = (entity->x + entity->dirX + ((entity->w)/2)) / TILE_SIZE ;
    J'espère avoir bien décrit mon soucis

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 872
    Par défaut
    Faire bouger ton personnage sur une pente de 45° n'a rien de compliqué. Tu dois juste incrémenter / décrémenter ton x et ton y de la même façon. Je m'explique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //on monte en haut à droite
    pox++;
    posy--;
     
    //on descend en bas à gauche
    posx--;
    posy++;
    J'ai pris le système des fenêtres, en gros la position initiale (0, 0) est en haut à gauche.

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut
    Bonjour imperio et merci

    Je me lève, je reprends à tête froide avec ton conseil bien en tête ccool:
    une parenthèse bien placée et c'est bon.
    Mais il subsiste un petit problème

    Lorsque je descend, et ce, sur les deux pentes, mon perso "saute", chute, de 1 pixel lorsque je quitte une pente et qu'une autre suit directement en dessous.

    Je me demandais se cela ne venait pas de la collision détectée pour la tile d'après, mais si c'est cela je ne vois pas comment régler, surtout un pixel, changer la vitesse de frame peut-il changer quelque chose ??

  4. #4
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    Comme dans tout les jeux, a toi de coder a partir de quel moment la chute est fatale. Je pense que tu as moyen de choisir la hauteur moyenne mortelle pour une chute J’espère par contre que sa ne fera pas des saccades d'images.

    Bonne chance

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut
    Bonjour Bysbobo, c'est vrai que j'ai une limite max de chute, qui est de 15, mais j'ai déjà essayé de changer cela ainsi que la gravité et ma vitesse rien y fait je peux accentuer le problème , mais pas le diminuer , si il diminue il disparaît je pense.


    Une idée , si je met un sdl_delay pour le chargement de l'image de saut, j'aurais ma sensation de fluidité, mais cela est-il pro ? de tricher un peu
    edit ->mauvaise idée ,
    je vais essayer de sauvegarder sa position lorsqu'il est en bas d'une pente et lui donner la position d'après en espérant ne pas partir du mauvais coté


    merci

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 72
    Par défaut
    Bonjour

    personne n'a eu d'idée supplémentaire

    Le fait d'incrémenter x et d'incrémenter y pour descendre en bas à droite par exemple ne fonctionne pas à cause de la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ///Mon y lorsque je ne bouge pas, implémenté dans  player.dirY >0, lorsque je tombe
     
    entity->y = (y2-1)*TILE_SIZE + ((sx%TILE_SIZE)) -entity->h- 1
    sx%TILE_SIZE = le nombre de pixel à soustraire pour être bien positionné sur la tile,
    lorsque j'arrive à sx%TILE_SIZE = 31,dans notre cas \, le tour d'après il passe à 0, ma tile fait 32 donc c'est bon, enfin pour moi
    et j'ai quand même le saut de 1 pixel à chaque sortie de pente en descente

    merci d'avance pour vos lumières

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Estimation de pentes avec logiciels externes
    Par BenAbda dans le forum Excel
    Réponses: 6
    Dernier message: 07/06/2008, 23h34
  2. Comparaison des pentes
    Par Maelstorm dans le forum Excel
    Réponses: 12
    Dernier message: 04/04/2008, 10h43
  3. PENTE DANS UN JEUX(c-facile que sa en a l'aire)
    Par TRUNKS-SSJ7 dans le forum Flash
    Réponses: 3
    Dernier message: 02/09/2006, 19h55
  4. [VB6]calcul et affichage d'une pente
    Par fahmichebaane dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 07/03/2006, 16h34

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