web-dev-qa-db-fra.com

Existe-t-il de bons tutoriels pour SDL2.0 pour la programmation C? (pas C ++)

Je suis un étudiant qui apprend la programmation C (en ce moment).

Dans le sujet qui m'a été donné, je dois créer une sorte de clone Wolfenstein3d (d'où le nom du projet, "wolf3d"). Pour réaliser ce projet, je suis autorisé à utiliser soit la bibliothèque graphique créée par mon école, soit le SDL. J'ai choisi le SDL, car il est plus complexe à utiliser et donc plus intéressant.

Malheureusement, je n'ai pas pu trouver de tutoriel pour SDL2 en C. Même les liens wiki SDL étaient tous orientés C++.

Je vous serais reconnaissant de bien vouloir m'aider à trouver de bons tutoriels pour le SDL2 en C (même si je sais que la politique du site est de "utiliser un moteur de recherche, ce que j'ai fait, mais comme je l'ai dit, je n'en ai pas trouvé loin).

Je pense que je pourrais avoir besoin d'expliquer quelques choses à propos de mon école, afin de ne pas vous donner l'impression que je vous demande de l'aide afin de tricher:

Pourquoi ne regardez-vous pas dans vos notes de classe?

Parce que je n'en ai pas. On me donne des projets à faire et parfois quelques conseils sur la façon de les faire. Je suis censé utiliser Google ou tout autre moyen tant que je comprends ce que j'ai fait.

Et c'est à peu près tout. Je ne recherche pas non plus un tutoriel sur "comment créer un clone wolfenstein3d en utilisant SDL2.0", mais seulement un tutoriel sur la façon d'utiliser le SDL2 lui-même, de la création d'une fenêtre aux points de dessin.

10
MrChwepsy

Si j'étais vous, j'utiliserais les tutoriels disponibles sur la page de SDL ici:

http://wiki.libsdl.org/Tutorials

En conjonction avec la documentation de l'API ici:

http://wiki.libsdl.org/APIByCategory

L'API est écrite en C, donc malgré le fait que les tutoriels peuvent être en C++, vous devriez pouvoir suivre le tutoriel en référençant les documents de l'API et en comprenant la structure fonctionnelle des exemples de programmes.

En tant que développeur en herbe, vous devez être en mesure de comprendre suffisamment la syntaxe C++ pour comprendre la manière conceptuelle dont vous avez besoin pour développer une application analogue en C. Les appels d'API devront être effectués de la même manière.

Considérez cette page d'un des didacticiels liés (qui est indiqué comme étant pour C++):

http://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php

L'un de ces blocs de code vous est-il vraiment étranger? Ils ne devraient pas l'être, ils sont écrits en C. Si vous rencontrez des expressions que vous ne connaissez pas au cours du didacticiel, référencez l'API. Si vous êtes toujours perplexe, il serait peut-être temps de publier sur StackOverflow. Ce tutoriel particulier peut être écrit complètement en C, je ne suis pas sûr d'avoir parcouru seulement les premières pages.

Notez également que la documentation des fonctions dans la documentation de l'API SDL donne un exemple de code C et C++:

http://wiki.libsdl.org/SDL_Init

Ici, vous pouvez croiser deux programmes identiques en C et C++ et commencer à apprendre comment les mêmes opérations sont effectuées dans les deux langages. De là, vous pouvez commencer à interpréter les didacticiels C++ pour les opérations fonctionnelles de haut niveau et les traduire en C plutôt que de simplement copier des exemples de code. Vous en apprendrez beaucoup plus au cours de ce processus.

Pour votre propre aveu, vous avez décidé d'emprunter la route complexe. Vous devez être prêt à investir des efforts dans le processus!

17
Kin3TiX