PETIT SHOOT GENRE SPACE INVADERS

Signaler
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/17767-petit-shoot-genre-space-invaders

Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

oui c vrai, c'est impressionnant! on notera pour le C++:
VC++
DevC++
Borland C++ Builder

y a aussi des conversions C#, Python, aussi un langage spécifiques aux jeux mais je sais plus lequel, y a sauf erreur des codes Java etc... c un grand atout du site !!
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
sur nehe ya les sources de leur tuto pour tout les edi pour tout les systemes(enfin peut etre pas tout mais yen a pas mal)
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

NeHe c génial, mais en effet c orienté Win32.
ceci dit: apprendre l'OpenGL, c'est une fois pour toute. Après ma foi, apprendre à utiliser une nouvelle API pour la fenêtre qui réceptionnera le contenu graphique, ça va pas te faire oublier comment les matrices et les vertex fonctionnent. Tu vas juste devoir réapprendre à dompter le clavier, la fenêtre etc avec la nouvelle API.
Messages postés
5
Date d'inscription
mardi 18 novembre 2003
Statut
Membre
Dernière intervention
25 novembre 2003

En fait je suis allé sur NeHe et j'ai jeté un petit coup d'oeil aux cours d'opengl et ça m'a donné l'envie d'essayer de traduire. J'avais jugé un peu vite.
Messages postés
5
Date d'inscription
mardi 18 novembre 2003
Statut
Membre
Dernière intervention
25 novembre 2003

Moi je comprend pas trop l'anglais (je ne suis qu'en 3°). Si vous connaissez des traductions des cours des sites en français ce serai cool. Merci beaucoup quand même. Je suis allé sur glinfrench et j'ai trouvé ça pas trop mal mais le seul problème c'est que le site traite plutôt la programmation windows (moi j'utilise l'opengl pour programmer en linux et windows sinon autant utiliser le directx).
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

ouais ben moi j'aime pas glinfrench :-P
gamestutorials et gamedev sont par contre excellents !
et www.lighthouse3d.com aussi !
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
Prografix et GLInFrench sont les meilleurs sites en français. Ensuite, forcément NeHe, qui est la référence, y'a tout dessus :) Cherche aussi Gamedev, GameTutorials aussi. Une bonne façon d'apprendre aussi c'est de s'acheter le "Red Book" (qui d'ailleurs vient tout juste de changer :) il explique OpenGL 1.4 et non 1.2 :)) : "OpenGL 1.2/1.4? je sais pas lol" de Mason Woo.
La version anglaise est disponible sur le Web à http://fly.cc.fer.hr/~unreal/theredbook/
Bonne chance ;)
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

j'aime pas glinfrench, j'ai commencé chez nehe.gamedev.net et ça m'a bien réussi. (en anglais, mais est-ce un problème ?)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
pour les tga maintenat je sais, j'en utilise pour le moteur 3d
merci quand mem!

pour les tutos opengl ==> http://glinfrench.apinc.org/index.php3
Messages postés
5
Date d'inscription
mardi 18 novembre 2003
Statut
Membre
Dernière intervention
25 novembre 2003

C'est très bien mais j'aimerais dire quelque chose:
-tes images n'ont pas de transparence, il faudrait les images en .tga
(vas voir sur http://prografix.games-creators.org/, articles opengl puis "importation de textures tga" ou quelque chose comme ça).
Je voudrais poser une question: ou peut-on apprendre l'opengl complètement et gratuitement?(si cela existe).
Messages postés
5
Date d'inscription
mardi 18 novembre 2003
Statut
Membre
Dernière intervention
25 novembre 2003

Ouahh ça a l'air cool comme jeu je fonce le télécharger!
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
De rien, ça me fait plaisir ;)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
merci pour le lien
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
ouuuuuuuuups désolé pour le message à dupdup34, je me suis trompé de source mdrrrr
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
http://www.amk-project.fr.st -> c'est le site d'AmK, j'ai fait des tuts à la section OpenGL (pub, j'arrête pas :p), sur les timers, les textures transparentes..... jettes-y un coup d'oeil, pour les textures transparentes j'ai fait un p'tit prog sur ce site, TGA Alpha Edit qui peut te servir si tu n'as pas Photoshop, Paint Shop Pro ou Gimp ;)
Au fait, pour le système de timers décrit dans mon tut, c'est un peu barbare comme méthode, après faudra que t'apprennes à en faire des "mieux" ^^

dupdup34 >> je suis en 1ère S et ça se passe bien, merci :)
Pour le timer, si ça peut t'aider : http://site.voila.fr/allbrain/timeropengl.htm (c'est moi que je l'ai écrit :)))))
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
voila du texte avec score & fps
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
en effet les textures se melangeaient, mais maintenant c corrigé ainsi que le probleme du son
maintenat avec les images de fond ca rend bien mais comment je pe faire pour que seul le noir soit la couleur transparente?
pour les missiles et le score ce sera pour la prochaine maj !
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

t'as rien compris funto, ce sont des missiles pshychiques, contrôlésapr la pensée de l'ennemi, si tu tues l'ennemi c normal que le missile disparaisse, moi j'ai jamais vu qu'un mort pouvait matérialiser une arme !





;-)
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
yeah, c'est pas mal, mais y'a encore des problèmes : ton prog se mélange au niveau des textures (pendant toute la partie je suis un tir ennemi lol), et si tu veux pouvoir tirer plusieurs fois d'affilée, faudrait que tu stockes les missiles que tu tires dans une list ou un vector ;)
Aussi, si le son n'est pas terminé un autre ne peut pas commencer, ce qui est dommage pour plusieurs tirs (je te conseille de te renseigner sur la librairie FMOD ;)). Et puis aussi y'a pas de score, ce qui est dommage (faudrait essayer de donner un but au joueur), et enfin, après ça j'arrête, promis :p, y'a un truc : si tu détruis un vaisseau ennemi tu détruis aussi son missile :(

Bon, ben je crois que c'est tou, bonne prog ;)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
voila la jauge + le son qd on tir, mais bon, je vais m'arreter la.
maintenant g v m'occuper de mon petit jeu de fight
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
aye! le jeu plante qd tu le ferme!
g voi ce que tu ve dir car ca me l'avait fait avec un prog opengl pris sur ce cite(un petit moteur 3d==>http://www.cppfrance.com/code.aspx?ID=9400)
pourtant chez moi ca plante pas!
si tu ve le modifier fo voir ca avec case WM_CLOSE ds la fonction WinProc
et essay de le killer plutot que de le fermer(mais g suis pas sur que ca change)

sinon pour la jauge c une super idee vu que c facile a faire et que apres ca rend bien, ca sera pour demain soir
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

ouiii bien :-)
et du coup c vachement plsu facile :-D
dimanche soir comme promis.
une chose: mais j'avais déjà le bug la fois passée, comment tu fais pr fermer le jeu? paske chez moi qd je ferme ça plante :-S (en utilisant la croix sur la fenetre)

fais une jauge de vie, histoire qu'on puisse se faire choper plusieurs fois
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
voila les problemes de colision sont reglé, la prochaine maj sera pour le texte (score,temps,...) et avec un menu
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
merci, c ce qu'il me fallait, avec ca je vais pouvoir resoudre ces problemes de colisions !
si j'ai le temps je ferai une maj pour dimanche soir
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

c'est tt à fait possible, tu peux passer facilement du mode Ortho (2D pur: tu dessines sur les pixels de l'écran) et le mode Perspective (3D, par défaut). Note: quand tu es en Ortho, tu fais ce genre de chose:

glVertex2i(50, 60);

définit un Vertex (pr qd tu dessines) en haut à gauche de l'écran, à 50 px du bord gauche et à 60 px du bord haut.

Voici comment faire: (mets ça ds 2 fct séparées) à appeler dans ta fonction de dessin (DrawGL ou ReDraw, ça dépend de toi)

CODE PRIS SUR GAMESTUTORIALS.com ;-)

///////////////////////////////// ORTHO MODE \\\\\\\\\\\\\\\\*
/////
///// This function changes our projection mode from 3D to 2D
/////
///////////////////////////////// ORTHO MODE \\\\\\\\\\\\\\\\*

void OrthoMode(int left, int top, int right, int bottom)
{
// This function takes in rectangle coordinates for our 2D view port.
// What happens below is, we need to change our projection matrix. To do this,
// we call glMatrixMode(GL_PROJECTION) to tell OpenGL the current mode we want.
// Then we push on a new matrix so we can just call glPopMatrix() to return us
// to our previous projection matrix, but first we will render in ortho mode.
// Next, we load a new identity matrix so that everything is initialize before
// we go into ortho mode. One we switch to ortho by calling glOrth(), we then
// want to set our matrix mode to GL_MODELVIEW, which puts us back and ready to
// render our world using the model matrix. We also initialize this new model view
// matrix for our 2D rendering before drawing anything.

// Switch to our projection matrix so that we can change it to ortho mode, not perspective.
glMatrixMode(GL_PROJECTION);

// Push on a new matrix so that we can just pop it off to go back to perspective mode
glPushMatrix();

// Reset the current matrix to our identify matrix
glLoadIdentity();

//Pass in our 2D ortho screen coordinates.like so (left, right, bottom, top). The last
// 2 parameters are the near and far planes.
glOrtho( left, right, bottom, top, 0, 1 );

// Switch to model view so that we can render the scope image
glMatrixMode(GL_MODELVIEW);

// Initialize the current model view matrix with the identity matrix
glLoadIdentity();
}


///////////////////////////////// PERSPECTIVE MODE \\\\\\\\\\\\\\\\*
/////
///// This function changes our returns our projection mode from 2D to 3D
/////
///////////////////////////////// PERSPECTIVE MODE \\\\\\\\\\\\\\\\*

void PerspectiveMode() // Set Up A Perspective View
{
// This function doesn't really go to perspective mode, since we aren't
// using gluPerspective(), but if you look in OrthoMode(), we push on
// a matrix once we change to our projection matrix. All we need to do is
// pop that matrix off of our stack and it will return to our original perspective
// matrix. So, before we pop the current matrix, we need to tell OpenGL which
// matrix we want to use by changing our current matrix mode to perspective.
// Then we can go back to our model view matrix and render normally.

// Enter into our projection matrix mode
glMatrixMode( GL_PROJECTION );

// Pop off the last matrix pushed on when in projection mode (Get rid of ortho mode)
glPopMatrix();

// Go back to our model view matrix like normal
glMatrixMode( GL_MODELVIEW );

// We should be in the normal 3D perspective mode now
}
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
merci pour ce commentaire encourageant et la note :-)
en effet je pouvais ni faire de menu ni afficher les scores car je savais pas comment afficher du texte ==> g vais aller voir ton lien

pour les pb de colisions j'arrive pas a voir l'erreur, mais si je pouvais avoir un repere ayant pour origine le coint superieur gauche de la fenetre, ce serait plus facile
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

pas mal du tout
franchement dur comme jeu qd même :-D
il te manque l'affichage des scores, ça c important, va voir sur NeHe.gamedev.net il y a un tuto sur les Font (win32 only, mais pr débuter c facile)

c'est assez bien fait, problème de collisions comme tu dis, ça m'est arrivé plusieurs fois.

tu l'as codé en POO et c'est ton atout principal pour le màj et pour faire des trucs complexes, je t'encourage à poursuivre sur cette voie !

je te mets 8, pr un début en OpenGL c du bon travail