CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[SDL] questions diverses

iunity
iunity
Niveau 5
08 juin 2005 à 15:00:07

Je me suis récamment mis à la programmation en C++ en utilisant SDL. J´ai suivi le tuto de JYY sur son site http://perso.numericable.fr/~fvirtman/info/tuto/index.html
Puis j´ai décidé d´essayer de créer moi-même un jeu. Mais là plusieurs problèmes se posent.

1) Existe-t-il des fonctions de dessin qui permettent d´effectuer des opérations simples, du style tracer une ligne ou un cercle ?

2) Je lance mon jeu ( enfin le début) dans une fenêtre de 640*480 qui n´est pas en plein écran. Et derrière ma fenêtre de jeu il y a une fenêtre DOS. Comment la supprimer ?

3) Est-il possible de faire des pop-up et des menus avec SDL ?

4) Et une question bonus : est-ce-que mon jeu créé sous SDL sera compatible linux ? Et si j´utilises aussi OpenGL ?

Voila ce qui me gène pour l´instant.
Je remercie par avance tous ceux qui accepteront de m´aider.

Ptival
Ptival
Niveau 10
08 juin 2005 à 15:08:51

1) Ca doit se trouver...Mais je sais pas vraiment où désolé

2) Cette fenêtre est nécessaire, c´est elle qui lance la fenêtre SDL...Je ne pense donc pas qu´on puisse la supprimer :\

3) Ca dépend, si tu veux ouvrir une autre " fenêtre Windows" je sais pas si c´est possible. Si c´est pour générer des fausses fenêtres en images ya pas de problème.

4) SDL est portable, OpenGl est portable :) Après, ce sera le reste de des choses dont tu te serviras pou le jeu qui risquent de poser problème ; )

godrik
godrik
Niveau 30
08 juin 2005 à 15:09:39

je me permet de rappeler l´URL de SDL: http://www.libsdl.org

faire des dessins simple:
ca ne semble pas tres simple en outre il y a une fonction sdl_fillrect et visiblement rien a propos de cercle
Le plus simple a mon sens pour faire cela, est de faire ton dessin dans une surface offscreen " a la main ou a l´aide d´une autre API".
je doit avoir dans un coin des bout de code de dessin de trait cercle que j´ai fait l´année derniere, je devrais pouvoir te mettre ca la si tu veux.

2/ la fenetre MSDOS vient de ton compilateur, c´est parceque tu utilise un " console project" et pas un " windows graphical project".
je supose que tu utilise devC++ que je ne connais pas...
sous visual ca se fait a la creation d´un projet

3/
il y a une boucle d´evenemnt dans SDL ( j´ai tendance a ecrire SQL excuser moi par la suite s´ily en a)
tu dois donc pouvoir capter une entre a la souris et afficher ton propre menu

en outre ce n´est pas simple a faire...
je pense qu´il y a une facon d´integrer SDL dans de la programmation windows standard ( ou QT ou GTK...). mais je ne la connais pas

4/
oui, SDL est multi plateforme et OpenGL aussi.
enoutre, fait attention au libs que tu utilise et a quelques " assumption" que tu fais
par exemple souvent dans le parsing de repertoire on supose que \ est le caractere qui delimite les repertoire alors que c´est / sous linux, ou encore sous windows dans un fichier ASCII on considere qu´une fin de ligne est identifié par \r\n alors que sous linux on considere plutot \n

le plus grand danger d´incompatibilité venant probablement de l´utilisation de lib graphique de decompression JPG des menu dont tu paralsi au dessus qui sont souvent fait en Win32.
je te conseille pour faire du multi plateforme d´utiliser une lib linux porte sous windows pour faire ton fenetrage ( QT, GTK...)

iunity
iunity
Niveau 5
08 juin 2005 à 15:18:47

Effectivement j´utilise DevC++ et j´ai créé mon projet en mode console. Je vais essayer en mode graphique Windows.

Pour ce qui est de la copatibilité linux, c´est cool. J´ai déjà fais des programmes petits graphiques sous linux ( c´est d´ailleur beaucoup plus simple) donc je penses que j´aurais pas trop de mal à respecter la compatibilité.

iunity
iunity
Niveau 5
08 juin 2005 à 15:31:54

Effectivement en mode graphique Window il n´y a pas de fenêtre DOS derrière. Pourtant, sur son site, JYY dit bien de créer un projet en mode console application à cette page : http://perso.numericable.fr/~fvirtman/info/tuto/2_0_sdl.html

godrik
godrik
Niveau 30
08 juin 2005 à 15:35:44

c´est parceque c´est plus " standard j´imagine"
et ca te permet de faire des printf et des scanf, c´est pratique pour debuger

JeanYvesYves
JeanYvesYves
Niveau 10
08 juin 2005 à 17:55:54

1)
L´extention SDL_draw pourra t´aider a faire tout cela :)
sur le site officile, dans librarys

2)
SDL se lance en mode console normalement. Je suis surpris qu´il passe en mode windows !
Es tu sur qu´il ne rale pas sur un Winmain ? Bref ! peut etre que Dev C++ crée un mode windows différent que celui de visual ?
Enfin bon sinon, j´ai la réponse, pour supprimer la fenetre dos alors que tu as créé en mode console :

  1. include < windows.h>

Freeconsole(); ou FreeConsole(); était la fonction qu´il te fallait.
elle peut servir dans pas mal de cas :)

3) ça doit etre possible, meme si SDL n´est a la base pas prévu pour ça.

4) Les autres t´ont répondu, et ils ont raison :)

Sinon, Godrik, pour debugguer, les printf peuvent servir, mais il ne faut jamais oublier le debuggueur, qui est un outils bien + puissant :)

godrik
godrik
Niveau 30
08 juin 2005 à 18:02:57

" Freeconsole(); ou FreeConsole(); était la fonction qu´il te fallait."
roh le bourrin! :)

" Sinon, Godrik, pour debugguer, les printf peuvent servir, mais il ne faut jamais oublier le debuggueur, qui est un outils bien + puissant"
c´est sur! mais printf est un bon ami quand meme! :) ( ne serait ce que pour faire une trace d´exécution)
Personnelement je ne me sert de mon debuggeur que quand j´ai un probleme d´access memoire que je n´arrive pas a isoler avec des printf
( je sais, programmation defensive et cie, on devrait tracer l´execution de son code meme quand on a l´impression que otut marche bien et cie....)

d´ailleurs, li y a des debuugeur pour la JVM ?
( oui, ca me prend comme ca)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment