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

Développement 2D, 3D et Jeux Discussion :

Pong : pimp my game


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Pong : pimp my game
    Bonjour,

    Je me suis remis à la programmation et j'ai commencé par programmer un Pong.

    Pour une fois, je l'ai fait tout seul sans regarder de tutoriels et la bonne nouvelle, c'est que le jeu de base fonctionne: j'ai une balle qui bouge, qui fait des collisions avec les murs et les palettes des joueurs ^^

    Maintenant, j'aimerais passer à l'étape supérieure, ajouter des petites améliorations graphiques pour faire joli, mais je bloque...

    Exemple:

    Lorsque la palette du joueur touche la balle, j'aimerais faire "trembler" momentanément la palette du joueur comme si c'était un tremblement de terre.

    Or, pour le moment, les mouvements de la palette sont strictement liés au déplacement de la souris sur l'axe Y.

    Pour simplifier, en pseudo code, j'ai un truc du style:

    void Palette move()
    {
    Palette.y = api_graphique::souris::y;
    }

    Comment passer de cette structure rigide, à une structure qui me permette de rajouter des aminations indépendantes de la souris, qui répondent à des collisions avec la balle, ou à d'autres événements dans le jeu (par exemple la palette s'agrandit si on choppe un bonus, etc.)

    J'ai besoin des grandes lignes pour me donner une direction, je trouverai les détails tout seul (enfin, j'espère)

    Merci d'avance pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 53
    Points : 112
    Points
    112
    Par défaut
    Bonjour, à mon avis tu peux ajouter des fonctions liées à des événements autres que la souris, Ex: si la balle touche la palette, tu peux faire une collision avec un timer.
    Est ce que tu as utilisé OpenGl?? Si oui, avec quoi tu as dessiné tes palettes??

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    J'utilise SFML. Les palettes sont des sprites PNG.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 53
    Points : 112
    Points
    112
    Par défaut
    je peux pas dire beaucoup, mais pour les collisions j'ai dit que tu peux utiliser un timer pour faire, bon chance à toi ... J'ai jamais utilisé la SFML

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Ok je peux donner la durée du tremblement avec un timer qui s'active à chaque collision.

    Il faut juste que je m’arrange pour faire une fonction tremblement() qui sorte une chiffre entre -1 et +1 de façon sinusoïdale, comme ça je peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(timer > 0)
    {
         palette.x = souris::position::y + tremblement();
    }
    Bon, je réfléchis tout haut ici, j'ai encore pas mal de croquis à faire sur papier avant d'y arriver. Mais merci pour la tentative d'aide

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 855
    Points : 218 551
    Points
    218 551
    Billets dans le blog
    118
    Par défaut
    Bonjour,

    Pour le tremblement, vous pouvez avoir une variable "offset", qui indiquer un décalage par rapport à la position de la souris. À chaque mis à jour (à chaque image), la variable offset change.
    La fonction mathématique "sin()" vous permettra d'avoir c'était effet aller retour (ne pas hésiter à multiplier le résultat pour amplifier le tremblement).

    Pour la taille de la raquette, il faut faire en sorte de garder une valeur indiquant cette taille dans la structure de la raquette.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. [TP] Problème dans un jeu de ping pong
    Par kellog02 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 05/11/2005, 11h41
  2. Game design [Besoin d'aide, conseils....]
    Par poussinphp dans le forum Langage
    Réponses: 23
    Dernier message: 24/09/2005, 09h16
  3. Réponses: 13
    Dernier message: 13/09/2005, 09h41
  4. 3D games creator
    Par SQUAL dans le forum DirectX
    Réponses: 2
    Dernier message: 21/02/2003, 17h44

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