Si tu en es encore à ce genre de questions, cela signifie que tu n'as vraisemblablement pas encore le niveau nécessaire pour suivre un tel tuto.
Sans plus d'informations, il nous sera difficile de t'aider. Allez, je tente quand même un truc : tu utilises Code::Blocs (sous Windows notamment), n'est-ce pas ? Dans ce cas, il te suffit de créer un nouveau projet, et là, deux choix possibles s'offrent à toi :
Tu crées un ou plusieurs nouveau fichiers et tu C/C le contenu de ceux du tuto ;
Tu inclus les fichiers du tuto à ton projet.
En fait, ton environnement de travail ainsi que ton OS importe peu.
Salut ! J'ai suivi ton tuto, mais j'ai un petit soucis avec la fonction valeur absolue pour affiner les collisions.
En fait, je fais actuellement un jeu de plateforme comme je limite mes FPS a 60, on sens vraiment le pixel/pixel quand on s'approche d'une plateforme, et ça rend un peu le gameplay degeu.
Je voulais savoir si t'avais une solution pour résoudre ce problème qui fais tache dans le gameplay.
Quand tu t'approches d'une plateforme, il y a un test pixel/pixel pour aller la coller, mais il y a juste le test et l'évolution (donc la mise à jour des structures), mais PAS le rendu. Le rendu ne se fait qu'à la fin.
Ah ok, c'est parce que j'ai un peu modifier ton code, j'ai enlevé la fonction 'Evolue', ça doit être pour ça, je vais regarder et modifier alors, merci !
Sinon, j'ai un deuxième soucis, c'est que dans mon jeu, pour déclencher un saut, il faut que le personnage soit au sol, autrement dit, qu'il y ait collision, or, le code ne permet jamais la collision, puisque le déplacement n'est permis que lorsque qu'il n'y a pas collision. Est ce que tu aurais une technique pour pallier a ce problème ?
Bonjour, juste une question. Dans la fonction CollisionDecor de ton tutoriel : Est-ce qu'il ne vaudrait pas mieux faire un tour de boucle en plus pour les deux ? Parce que voila j'ai le SDL_Rect d'un sprite, et lorsque j'appelle la fonction, la détection de collision foire complètement, alors que si je fait un tour de boucle en plus ça marche très bien. C'est normal ?
Oui c'est normal. Comme expliqué dans le tutoriel, tes indices i&j varient de xmin (ymin) à xmax (ymax) inclus. Donc soit , tu rajoutes un "<=" dans tes boucles for, soit tu laisses comme tu as fait ;).
Hello ! C'est marrant de voir que quand des programmeurs se cassent les dents sur une problématique, il y a souvent une solution majoritaire pratique qui en ressort. Je sais pas si c'est compréhensible comme ça mais j'ai pas voulu prendre le temps de détailler, c'est pas le but de ce message !
J'avais déjà vu ton tuto il y a un an ou deux Fvirtman, mais je ne comprenais pas tout. Actuellement, avec plus d'expérience et un peu de temps libre à côté de mes études, je suis parti sur une série de (mini) jeux 2D (style pong, casse-brique, tetris etc). Je me suis inspiré de ta technique de gestion des évènements, où tu mets à simplement à jour des valeurs que tu check ensuite pour en faire ce que tu veux. Je l'avais également consultée auparavant mais l'aspect technique du tutoriel m'avait rapidement largué.
Je retombe aujourd'hui sur ce tutoriel et j'aimerais donc me lancer dans un jeu de plateforme comme mario mais en simplifié avec ma touche perso. Je pense que je vais réimplémenter tout ton tuto suivant ma façon de voir la chose et de coder, bien qu'on ait sensiblement le même point de vue pour certaines choses. Ensuite je pourrais intégrer personnellement ce qui était censé être ta partie 3 de ce tutoriel, c'est à dire la gravité et les animations. Je pense pouvoir faire ceci sans trop de soucis, suite à la lecture de quelques messages (en fait j'ai lu les 20pages de ce tuto plus quelques trucs à côté, un peu de lecture de temps en temps ça fait pas de mal :p). Au début j'avais peur de cet aspect "parabole" et "formules mathématiques complexes" car même si je suis plutôt à l'aise en mathématiques et en physique j'ai horreur de tout ce qui est formule et tout, je suis plutôt adepte du "à peu près simplement", ça m'a d'ailleurs réconforté de voir que c'était bien ce genre de technique qui était majoritairement utilisé pour les jeux 2D.
Je comprend que tu as été démotivé surtout si en plus tu es surchargé, je sais ce que c'est et je profite d'ailleurs de ce moment de pseudo-tranquillité pour mes projets persos. Bref tout ça pour pas dire grand chose... J'aurais aimé discuter d'autres choses mais c'est pas forcément le bon endroit !
Un grand merci à toi pour ton expérience et tes divers avis qui m'ont réconforté dans ma manière de penser/coder.
Merci pour ton message, il m'a fait très plaisir !
Bien que je n'aie plus trop de temps pour continuer, on peut toujours discuter technique sans aucun problèmes ! J'ai souvent du temps pour dialoguer sur des forums, mais alors beaucoup moins pour faire un cours entier illustré !
Profitez de votre temps quand vous êtes jeunes ! Pour ma part, je suis passé par ces fonctions la : (que je ne regrette pas, bien au contraire, mais qui redéfinissent mes priorités)
int Fini_l_ado(Fvirtman* moi)
{
moi->Mariage(femme);
Maison* maison = moi->AcheterMaison(banque,femme);
maison->MenageMode(moi,femme->Rale(BOUGE_TOI_LE_CUL));
child* J = moi->Clone();
child* L = moi->Clone();
J->SetMode(PLEURE_LA_NUIT);
L->SetMode(PLEURE_LA_NUIT);
travail->SetReveil("7.00AM");
....
}
J'ai réalisé un jeu après avoir lu le tuto (il y a de ça un ans ou 2).
Pour ceux qui sont curieux ou pour ceux qui veulent avoir un exemple de mise en pratique du tile mapping, je vous invite à l'essayer : je l'ai posté ici sur OpenClassrooms.
Bonsoir , en tout cas merci de votre travail sa m'a été d'une grande aide. J'ai voulu essayé avec votre code un système de changement de map sur une image du tileset . Alors voilà ce que j'ai rajouté dans votre code
Dans la structure:
typedef struct
{
SDL_Rect R;
int mur;
int changerMap;
} TileProp;
je te remercie pour ton tutoriel incontournable.. C'est parfait pour poursuivre avec la SDL après le tuto de Mateo.
Excellent aussi comme extension de la partie sur la lecture de fichiers.
Justement j'avais un petit souci à ce niveau. J'avais pu coder la première partie seul mais la nouvelle version évoluée ne fonctionnait pas. Du coup j'ai récupéré fprog2 dans le fichier fourni. la version du fichier fonctionne mais pas la version que j'avais fait en suivant le tuto. En comparant les deux fichiers j'ai pu remarquer des petites différences et je suis finalement tombé sur celle qui change tout.
Dans le tuto le fichier de niveau commence par la ligne: Tilemapping Version 1.0
Dans l'archive, cette ligne n'est plus là.
Dans le tuto, la fonction chargerMap gère cette ligne en lançant un message d'erreur si elle est pas telle quelle, pour rappel de la manière suivante:
if (strstr(buf,"Tilemapping Version 1.0")==NULL)
ErrorQuit("Mauvaise version du fichier level. Ce programme attend la version 1.0\n");
Donc du coup dans l'archive cette ligne n'est plus gérée par la programme étant donné qu'elle est plus dans le fichier texte.
J'avais d'abord vérifié le fgets, mais celui marche bien. C'est le strstr qui déconne.... Je pense que la valeur qu'il renvoie ( un pointeur nul si j'en crois la doc ne fonctionne pas avec le test qui est fait ici? )
Je viens de commencer le C alors je suis un peu vert. Si quelqu'un peut m'expliquer pourquoi cette ligne ne fonctionne pas ( sous CodeBlocks en tous cas) cela pourrait m'éclairer.
Très bon tutoriel. Auriez-vous une idée pour faire des tuiles orientées à 45°.Puis des calcul pour faire glisser le personnage et les entités dessus?? Et pour des platforme qui bougent entre deux points.
Sinon la suite du tuto vas elle être créé ou il est fini, je le trouve très instructif sur le sujet, de plus en français il n'en existe pas d'autre mieux détaillé sur le web
bonjour ...s'il vous plait est t'il possible de modifier affichage de map et collision par la technique de detection de couleur ... par exemple quand il voit le blanc il ya collision ... mais le scrolling reste intacte
Ta question n'est pas très claire. Dans le principe oui, tu peux modifier ce que tu veux pour que ça fasse ce que tu veux. Le tuto a pour vocation de décrire des généralités et diverses techniques. Ce n'est pas parce que le tuto montre comment faire du pixel perfect en cherchant des pixels non-transparents que tu ne peux pas choisir des pixels bleus ou jaune ou quoi...
× 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.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Bonhomme !! | Jeu de plateforme : Prototype.