EN DIRECT en ligne connexion / inscription
Connexion

Surnom/Pseudo
Mot de Passe :

[ Vous avez perdu votre mot de pass ? | Devenir membre ]

×

Vitesse/mouvement en c++

CowcotLand topic RSS feed Surveiller les réponses de ce sujet
overlife @
Agriculteur
Agriculteur

1593pts

Inscrit le: 07 juin 2013
Age: 30
Messages: 482

Navigateur : n.c.

Hors ligne
Message Posté le: 15 mars 2014 à 18:27  Lien permanent
Répondre en citant
Coucou à tous Très content

J'explique le problème !^^
J'ai un projet, un cassbrik en c++ a programmer a l'aide du bibliothèque qui ce sert de celle de qt.

Niveau graphique, dessin de la boule, briques, palet, tous est bon (je pense).
Mais la ou je bloque, et c est peu de le dire, c est comment faire bouger tout ce beau monde ?

Je ne vous donne pas mon code pour l'instant, car je cherche avant tout un aide "intellectuel" que vraiment la réponse, j'aimerais comprendre, surtout sur ces deux points là, vitesse et direction de la boule.

Toutes petites informations sont les bienvenue, même minimes Très content

Help ^^
Voir le profil de l'utilisateur Envoyer un message privé » Google Map
overlife @
Agriculteur
Agriculteur

1593pts

Inscrit le: 07 juin 2013
Age: 30
Messages: 482

Navigateur : n.c.

Hors ligne
Message Posté le: 16 mars 2014 à 18:58  Lien permanent
Répondre en citant
Personne ne peut venir à mon secours ? Confus
Voir le profil de l'utilisateur Envoyer un message privé » Google Map
noursferoce @
Ouvrier agricole
Ouvrier agricole

449pts

Inscrit le: 06 avril 2013
Messages: 201

Navigateur : n.c.

Hors ligne
Message Posté le: 16 mars 2014 à 20:53  Lien permanent
Répondre en citant
Bonjour,

Sans vouloir t'offenser ce n'est pas facile de t'aider, tu ne donnes que des informations très parcellaires.
Je te le dis tout de suite j'ai pas mal codé un temps en C/C++ mais jamais de jeux, donc je vais faire ce que je peux.
Pourrais-tu déjà nous donner le nom de ta bibliothèque ?

Je ne sais pas comment est fichu ton code, mais typiquement tu devrais avoir au moins deux threads : Le premier qui gère le rafraîchissement de ton affichage qui va donc faire bouger tes sprites. Le deuxièmes qui va se charger de dépiler tes events et de réagir en fonction.

Pour le mouvement en lui même, si tu as fais un peu de physique si je te dis que la vitesse est la dérivée de la position ça doit te dire quelque chose.
Prenons par exemple un objet qui se déplace selon un axe x qui est initialement en position x0 avec une vitesse initiale vx0. Un instant dt après ton objet va se trouver dans la position suivante :
x0+vx0*dt
Dans ton programme cet instant dt va correspondre à l'intervalle de temps entre deux rafraîchissements.
Tu peux généraliser ça dans les trois directions de l'espace.

Dans ton post tu parles de vitesse et de direction. Pour reprendre l'exemple précédent la direction dans laquelle va se déplacer ton mobile va dépendre du signe de la vitesse. Si ta vitesse est positive ton mobile va se déplacer dans le sens des x croissants, et dans le sens des x décroissants si v est négative.

Que va t'il se passer lors d'un changement de direction, par exemple quand ta bille casse une brique?
Prenons deux instants consécutifs, juste avant de toucher la brique et juste après. La position ne va pas changer ta bille restera au même endroit, par contre il va falloir que tu changes ta vitesse pour faire repartir ta bille dans une autre direction.

Dans ton programme il va falloir traduire ça de manière suivante : Si tu as un event "bille touche brique"
alors changement de la vitesse.

Je ne sais pas si ça t'éclaircit un peu les idées, autrement tu peux aller faire un tour sur developpez.com qui est un site francophone avec plein de "vrai" programmeurs (ce que je ne suis pas) et plein de tutos bien fait.

Bon courage
Voir le profil de l'utilisateur Envoyer un message privé » Album Photos
overlife @
Agriculteur
Agriculteur

1593pts

Inscrit le: 07 juin 2013
Age: 30
Messages: 482

Navigateur : n.c.

Hors ligne
Message Posté le: 17 mars 2014 à 18:36  Lien permanent
Répondre en citant
Bonjour Noursferoce,

Désolé de ne pas avoir été assez claire mais c' est vrai que j'essayais d'abord d'avoir une idée générale sans avoir vraiment de réponses.
Vu que ça n'est pas possible, malgré que tu m'ais beaucoup aidé, je vais essayer de me faire comprendre cette fois ci ^^

Bibliothèque: DrawingWindow

Sur mon code, qui est censé faire bouger une raquette donc (mais qui ne le fait pas) :

Pour le code qui n'est pas visible, tout est bien déclaré, le barre est bien dessiner avant la boucle.

Problème:

1) Je ne sais pas comment supprimer un objet, rectangle dans ce cas là pour le redessiner et ne pas faire un vulgaire trais lors du déplacement.

2) Dans les meilleurs des cas lors d'une compilation, j'arrive a faire bouger d'un itération vers la gauche ou la droite et plus rien ! Je ne comprends pas pourquoi, ma boucle est elle bloqué à un endroit ? .

3) Je ne comprends pas que la boucle ce répète jusqu’à ce que la barre sois complètement à gauche/droite alors que au début de la boucle while j'ai bien un ré-affectation de mes deux conditions...

J'imagine que mon erreur doit être grosse comme un maison mais je ne vois vraiment pas Confus

Code précédé de la fonction : w.waitMousePress() qui renvoi ici "bouton".

Voir le profil de l'utilisateur Envoyer un message privé » Google Map
overlife @
Agriculteur
Agriculteur

1593pts

Inscrit le: 07 juin 2013
Age: 30
Messages: 482

Navigateur : n.c.

Hors ligne
Message Posté le: 17 mars 2014 à 20:18  Lien permanent
Répondre en citant
Problème partiellement résolut, gros comme une maison effectivement, il suffisait de mettre le retour de la souris dans la boucle ....

Reste toujours que je ne sais pas comment supprimer un objet Confus A part dans la doc pas de moyen de savoir ?
Voir le profil de l'utilisateur Envoyer un message privé » Google Map
noursferoce @
Ouvrier agricole
Ouvrier agricole

449pts

Inscrit le: 06 avril 2013
Messages: 201

Navigateur : n.c.

Hors ligne
Message Posté le: 17 mars 2014 à 22:10  Lien permanent
Répondre en citant
Je ne trouve pas ta bibliothèque et donc encore moins la doc.

Mais effacer un objet c'est la même chose que redessiner le fond dessus.
Voir le profil de l'utilisateur Envoyer un message privé » Album Photos
overlife @
Agriculteur
Agriculteur

1593pts

Inscrit le: 07 juin 2013
Age: 30
Messages: 482

Navigateur : n.c.

Hors ligne
Message Posté le: 18 mars 2014 à 20:54  Lien permanent
Répondre en citant
Problème résolu Très content
Merci pour ton conseil, effacer c'est redessiner par dessus !

Pour le reste, j'essayais de faire varier une constante donc ca ne marchait pas des masse ^^

Encore merci beaucoup Noursferoce Très content
Voir le profil de l'utilisateur Envoyer un message privé » Google Map
Sauter vers: 
Surveiller les réponses de ce sujet CowcotLand topic RSS feed  

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sujets similaires

Sujet Auteur Forum Réponses Posté le
Pas de nouveau message IMC et vitesse mémoire forty-seven Composants 5 30 janvier 2024 à 22:30
Pas de nouveau message Vos Box / partages de connexion : vitesse de téléchargement Vision4life Composants 153 27 décembre 2023 à 13:38
Pas de nouveau message Arctic Liquid Freezer II - Vitesse de pompe JoseHidalgo Watercooling 9 29 mai 2023 à 16:13
Pas de nouveau message Docking Station HDD USB, choix de vitesse JoseHidalgo Périphériques 3 03 avril 2023 à 19:06
Pas de nouveau message Problème vitesse d'horloge, normale ou pas ? Kassoff L'atelier 2 08 décembre 2022 à 15:16