Pages : 1
#1 Le 06/07/2008, à 03:03
- compte supprimé
SDL_Surface
Bonjour
j'aimerai savoir comment faire passer comme parametre une variable de type SDL_Surface et est t-il possible de recuperer le resultat de la sous sous variable event.key.keysym.sym pour la faire passer dans une fonction et quel est son type? merci
#2 Le 06/07/2008, à 10:49
- robrob
Re : SDL_Surface
SDL_Surface est une structure:
http://www.libsdl.org/cgi/docwiki.cgi/SDL_Surface
En C, tu peux la passer directement comme tel ou par pointeur. En C++ tu peux en plus utiliser les références.
A voir en fonction de tes besoins.
Pour la deuxième question, la bibli SDL est très bien documentée, la réponse se trouve dans la doc (RTFM comme on dit ) :
http://www.libsdl.org/cgi/docwiki.cgi/SDL_keysym
et pour SDLKey:
http://www.libsdl.org/cgi/docwiki.cgi/SDLKey
Hors ligne
#3 Le 07/07/2008, à 16:00
- compte supprimé
Re : SDL_Surface
en fait j'essaie de faire passer directement ma variable mais j'obtient une erreur :
/home/kamagatos/acti/Mario/main.cpp|22|error: conversion from ‘SDL_Surface*’ to non-scalar type ‘SDL_Surface’ requested|
#4 Le 07/07/2008, à 18:48
- robrob
Re : SDL_Surface
D'après l'erreur, tu essayes d'affecter un pointeur sur une SDL_Surface à une variable de type SDL_Surface. C'est normal que le compilateur se plaigne.
Pour t'aider mieux, il faudrait que tu postes ton code (ou tout du moins la partie qui pose problème).
A tout hasard, quelques infos sur les pointeurs ici:
http://c.developpez.com/faq/?page=pointeurs
Hors ligne
#5 Le 08/07/2008, à 12:06
- compte supprimé
Re : SDL_Surface
voici la fonction main de mon programme
int move(SDL_Surface );
int main(int argc, char* argv[])
{
//declaration de variable
SDL_Surface *Main_screen=NULL;
//Dev de la SDL
SDL_Init(SDL_INIT_VIDEO);
SDL_WM_SetCaption("KamagatOS",NULL);
Main_screen=SDL_SetVideoMode(500,500,32,SDL_HWSURFACE|SDL_RESIZABLE|SDL_DOUBLEBUF);
move(&Main_screen);
SDL_Quit();
return EXIT_SUCCESS;
}
int move(SDL_Surface *screen)
{...}
En fait ce que j'essaie de faire c'est de faire passer Main_Screen a ma fonction pour pouvoir y faire des "blitting" de nouvelles surfaces que j'aurai a creer.
merci
Dernière modification par kamagatos (Le 08/07/2008, à 12:07)
#6 Le 09/07/2008, à 11:38
- robrob
Re : SDL_Surface
move(*Main_screen);
plutôt
Résumons:
- Main_screen est un pointeur sur une structure
- si tu fais &Main_screen tu récupères le pointeur sur le pointeur
- si tu fais *Main_screen tu récupères la structure pointée
Dernière modification par robrob (Le 09/07/2008, à 11:45)
Hors ligne
#7 Le 10/07/2008, à 12:32
- haku_arsene
Re : SDL_Surface
Salut,
J'ai l'impression que c'est
move(Main_screen);
Vu que move attend un pointeur vers SDL_Surface, et que Main_screen est un pointeur.
Non ?
A plus !
Dernière modification par haku_arsene (Le 10/07/2008, à 12:35)
Hors ligne
Pages : 1