Bonjour tout le monde, j'ai commencé à apprendre le C++ et j'aimerais utiliser la librairie SDL. Seulement je n'ai pas trouvé de bon tuto sur SDL en C++ (seulement en C...).
Connaissez-vous quelques bon tuto sur la SDL en C++ svp ? merci d'avance
Bonjour tout le monde, j'ai commencé à apprendre le C++ et j'aimerais utiliser la librairie SDL. Seulement je n'ai pas trouvé de bon tuto sur SDL en C++ (seulement en C...).
Connaissez-vous quelques bon tuto sur la SDL en C++ svp ? merci d'avance
Salut,
Par "en C++" tu entends des tutoriaux utilisant des classes et autres beautés de la POO? Hé bien je n'ai pas du en voir beaucoup dans ma vie non plus.
Mais c'est l'occasion rêvée pour toi d'encapsuler toutes ces structures et fonctions C dans du code C++ robuste et puissant, en implémentant des class telles que Image,Fenetre,ImageAnimee,ImageAnimeeFixe,Menu,MenuElem,Text,Son etc ... Non?
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
bah je voudrait savoir si c'est la même installation (les memes includes, ...)
Attention, on dirait que t'es en train de dire que tu veux apprendre à programmer en C++ et que tu veux apprendre à faire un programme utilisant la bibliothèque SDL.Envoyé par Mousk
Bien que je te l'accorde, la bibliothèque SDL n'est pas trop compliquée à utiliser (et, pour que cela soit clair, c'est les mêmes includes, la même façon de compiler pour le C), il faut d'abord maîtriser le C++ avant de se lancer dans la programmation d'un jeu.
Si tu sais programmer en C++, alors l'initialisation de la SDL ressemble effectivement plus à du C mais, ensuite, comme a dit Alp, tu peux encapsuler toute la gestion du jeu, de l'affichage, la gestion du clavier/souris dans des classes.
Jc
: :Envoyé par Mousk
Le C++ c'est une surcouche du C.
Tout ce qui se fait en C peut se faire en C+ + à la seule condition d'utiliser des fichiers avec extension .cpp
Après comme le disent fearyourself et prédecesseurs il faut concevoir des classes objets , entités du jeu...
si c'est vraiment important on peut prendre UML
Le C++ n'est PAS une surcouche du C. Il ont des points communs, mais ils ne sont pas tant liés que ça. Par exemple, si le C++ contient un standard du C, ce n'est pas le dernier, et je ne parle même pas de la gestion de la mémoire.
sur la théorie oui mais dans la pratique les fonctionnalités du C++ finissent par celles du C.Envoyé par Miles
new en fait c'est un malloc édulcoré ni plus ni moins....
Essayez de ne pas trop dévier du sujet initial...
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
http://www.amazon.fr/exec/obidos/ASIN/1592000304/402-3546143-2719308
moi j'ai appris sdl avec ce boucain, il est tres bien fiat. et a la fin, t'as pas mal de poo.
Mais dans l'ensemble, si tu connsais le c++, l'integration de la sdl n'est pas la chose la plus compliqué
a+++++
La bibliothèque SDL est écrite en C.
selon www.libsdl.org:
Il existe quelques portages dans d'autres langages, qui ne sont pour la plupart que des surcouches de la SDL originale.SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, Java, Lua, ML, Pascal, Perl, PHP, Pike, Python, and Ruby.
Par contre, il n'existe pas à ma connaisance, de version c++ de la SDL.
J'ai entendu dire que la version 2.0 serait écrite en C++.
Aprés, tu peux trés facilement écrire un programme en c++ qui encapsule la SDL.
Par exemple tu fais une classe Fenetre qui dans son constructeur appellera SDL_SetVideoMode.
Et si tu veux plus de performance, en évitant de passer par l'intermediaire de la SDL, tu peux directement utiliser des appels de X (sous unix), ou de l'API Windows (sous windows).
Je ne sais pas si ce que tu dis est vrai, mais ce serais idiot car SDL ne fonctionnerait plus avec C mais seulement avec C++ alors que là ça fonctionne avec les 2...Envoyé par MatRem
ou alors il feraient 2 versions à la limite dont une orientée objet en C++
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
Ce n'estait qu'une rumeur, et d'ailleur je ne retrouve plus où j'avais vu ça.
ok si tu retrouves merci de me passer le lien
bon on devit encore du sujet désolé :p
pour Mousk, tu as déjà la reponse à ta question à mon avis, si tu veux des precisions on reste disponible.
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
on peut tres bien ecrire une lib en C++ mais ne proposer d'interfacage qu'en C, la preuve, ODE est entierement developpé en C++ mais son interface d'utilisation est en C, donc utilisable avec un compilo C (si on utilise la lib precompilé bien entendu
* Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
* pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
Mes articles
je n'avais aps penser à cela en effet
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
pardon de faire un up mais je ne voulais pas recréer un topic.
Donc moi j'ai un problème pour faire un programme sdl en c++.
Si je cré un test en C, pas de problème(je compile à la main sous linux). mais si je fais un programme en c++, la compilation plante avec #include<iostream>. Par exemple il y a une fonction int pause dans iostream et donc dans mon programme ça plante si je fais une fonction void pause...
donc mes prog. sdl ne vont qu'avec:
une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #include <stdlib.h> #include <stdio.h>
ps: voilà le code console complet pour iostream:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 julien@julien-desktop:~$ g++ -o clock clock.cpp -lSDLmain -lSDL julien@julien-desktop:~$ g++ -c clock.cpp clock.cpp:4: erreur: new declaration void pause() /usr/include/unistd.h:429: erreur: ambiguates old declaration int pause() clock.cpp: In function void pause(): clock.cpp:19: erreur: new declaration void pause() /usr/include/unistd.h:429: erreur: ambiguates old declaration int pause() julien@julien-desktop:~$
Salut,
ton erreur n'a rien à voir avec SDL, c'est juste que dans un fichier t'as une fonction int pause() et dans l'autre une fonction void pause().
oui mais "int pause()" est dans la bibliothèque standard C++, je ne sais rien y faire, si? Ca voudrait dire qu'on ne peut pas faire de fonction nommée "pause" dans un programme en C++.
Ce que tu dis est vrai en C, mais en C++, tu as plusieurs moyens pour pallier à ça. Tu peux utiliser les espaces de noms pour regrouper tes fonctions, ou utiliser des fonctions de classes.
En C on a l'habitude de préfixer le nom de ses fonctions (int System_Pause()), mais en C++, les solutions sont plus élégantes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 namespace System { void pause(); }(avec une préférence pour l'espace de noms)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 class System { static void pause(); };
Si tu rencontres d'autres problèmes, n'hésite pas à poster dans le forum approprié.
Bonjour à tous,
Existe t-il un équivalent de la SDL en C++, je veut dire, une librairie aussi simple mais écrite en C++?
Merci d'avance.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager