Paredon, renomme :
if(hasard>3)
vol=LoadBMP("vol_reussi.bmp");
else
vol=LoadBMP("cool.bmp");
while(1)
{
SDL_BlitSurface(vol,NULL,screen,&5);
if(event.type==SDL_KEYDOWN&&.key.keysym.sym==
SDLK_TAB)
break;
}
SDL_Flip(screen);
}
Et y a un ´}´ de trop, décidément
while(1)
{
SDL_BlitSurface(vol,NULL,screen,&5);
if(event.type==SDL_KEYDOWN&&.key.keysym.sym==
SDLK_TAB)
break;
SDL_Flip(screen);
}
Bonjour tout le monde. J´i une chtite question sur les fonctions printf et scanf. J´ai cru comprendre que la fonction scanf lisait la valeur d´une variable et la rangeait à la même adresse ( en mémoire) que celle de la variable citée dans la fonction. Si c´est ça, quel est l´avantage de cette fonction par rapport aux affichage des valeurs de variables avec printf?
Surtout dites le moi si j´ai mal compris.
" JeanYvesYves Posté le 19 juillet 2004 à 15:54:08
_[cOnkeR]_ > ou en es tu toi en ce moment ? "
> Moi je suis en pleine POO, j´y vois beaucoup plus clair qu´avant car j´ai eu le temps de lire 1 ou 2 bons bouquins depuis. Je vais sûrement essayer de faire un p´tit truc d´ici peu, pour voir si je maitrise plus au moins bien le concepte objet, et si ça se passe bien, je m´attaquerai à quelque chose d´un peu plus gros
.
Sinon pour lalelale, je ne vois pas pourquoi tu initialises SDL dans la fonction vol(), tu devrais le faire dans la boucle principale situé dans la fonction main() ou alors dans une fonction d´initialisation, car là, c´est pas très logique.
En fait, je vious ai mis ca pour que vous ne croyez pas que je l´i oublie. Mais je l´ai bien defini dans une autre fonction.
Sinon, mtn le bug, ca me met le résultat, mais c entouré d´un écran noir et mon fond d´écran se barre. Comment je fais pour résoudre ce vieux prob´ à la con? Parce que c chiant de pouvoir faire qu´un truc puis quitter aquand même
Déjà, tu charges tes BMPs à l´intérieur de boucles while. A ta place, je ne le ferais pas. Charge les BMPs à l´extérieur de la boucle.
Ensuite, tes images ne s´affichent pas car dans ta boucle, tu blit l´image sur la surface screen, mais tu ne l´affiche pas ! Il faudrait placer le SDL_Flip(screen); à l´intérieur de tes boucles while ( ce que lag-it t´as d´ailleurs corrigé).
" overkill666 Posté le 19 juillet 2004 à 22:55:08
Bonjour tout le monde. J´i une chtite question sur les fonctions printf et scanf. J´ai cru comprendre que la fonction scanf lisait la valeur d´une variable et la rangeait à la même adresse ( en mémoire) que celle de la variable citée dans la fonction. Si c´est ça, quel est l´avantage de cette fonction par rapport aux affichage des valeurs de variables avec printf?
Surtout dites le moi si j´ai mal compris.
"
> scanf() stock dans la variable indiquée les données que tu entres au clavier. printf() quand à lui affiche des données à l´écran.
Oui, je tenais a préciser, lalelale, qu´il est fort déconseillé de charger le BMP ( loadBMP) dans la boucle, car tu vas voir ton disque gratter, et le tout aller TRES lentement !
Je pense que tu vois pkoi
et en effet, flip() juste avant la fin du while
ok, ben merci pour vos conseils, je vais essayer de suite ; )
Je ne capte pas pkoi, mais même en respectant vos conseils, mon programme foire toujours!!
void vol()
{ init_SDL();
SDL_Rect rect;
SDL_Surface* vol_reussi ;
int sx=1,sy=1;
rect.x=250;
rect.y=250;
SDL_Surface* vol_rate;
SDL_Rect rect5;
rect5.x=250;
rect5.y=250;
srand(time(NULL));
int hasard=rand()%10;
vol_reussi=LoadBMP("vol_reussi.bmp");
vol_rate=LoadBMP("cool.bmp");
if(hasard>3)
{ while(1)
{
SDL_BlitSurface(vol_reussi,NULL,screen,&);
if(event.type==SDL_KEYDOWN&&.key.keysym.sym==
SDLK_RETURN)
break;
SDL_Flip(screen);
}
}
else
{
while(1){
SDL_BlitSurface(vol_rate,NULL,screen,&5);
SDL_Flip(screen);
if(event.type==SDL_KEYDOWN&&.key.keysym.sym==
SDLK_RETURN)
break; }
}
}
Voila le code refait. Lez rpobleme c´est que ca ne veux pas sortir de la boucle.
Sinon, on imagine que dans mon repére orthonormé, lorsque j´arrive en abscisse au point 1000 ( sur 1024) et qu´à ce moment le fond d´ecran ( firstscreen) change. J´ai essaye de fauire ca, et ca me donne ca :
if(recta.x>1000&&.y<550)
{
firstscreen=LoadBMP("decors.bmp");
}
( recta, cest le rectangle du joueur)
Vous avez evidemment devine que si je vous en parle, c´est que ca ne marche pas!!
je crois qu´il faut que lorsqu´on arrive a ce point du repére, on écrase l´ancien fond d´écran et alors on le remplace par le nouveau. Mais comment je fais pour écraser l´ancien? Pour le remplacé par le nouveau? pour réstituer un nouveau repere?pour que ca plante pas?
Je crois qu´au bout d´un moment je vais vous donner tt le code pffouh, je suis dég´
Lez rpobleme c´est que ca ne veux pas sortir de la boucle :
--> normal tu ne fais aucun PollEvent
Oui, et moi je suggère que tu nous foutes tout ton code sur ftp et que tu nous donnes l´url, car jv.com va foutre en l´air toute l´indentation. Si on a le code complet sous les yeux, je pense qu´on va mieux pouvoir t´aider. Précise-nous également le but exact de ton programme
.
bopn d´acdord je vais mettre ça sur ftp. mais, comment on fait ^^. Ne vous faîtes pas chier à répondre, ce sera fait demain, quand mon frére sera dispo ; )
Franchement, excusez moi pour le dérangement, mais c´est vrai que j´encombre le forum là. une fois que j´aurai mis sur FTP, vous effacerez ces LONGS codes et le message ci ok?
bon en attendant je fais le PollEvent ; )
@@++
Mais non, il est fait pour ça ce topic, mais si ton code fait des centaines de lignes, c´est mieux de le mettre sur ftp et de nous donner le lien ^^.
oups, et j´ai oublie de dire, c´est qu´en faite on fait un RPG avec des amis. Il y a un programmeur " confirmé"(il est très fort en théorie, mais en pratique lui même il ne connait pas l´étendue de ses capacités. Par contre je vous assure qu´il est fort en théorie) qui doit normalement s´occuper de tout ce qui est code, et moi je dois apprendre pour que je puisse aider lorsque j´urai le niveau. Le hic, c´es que le jeu sera en 3D et que je ne crois pas que j´ai un niveau assé élevé en math ( j´ai plus de 17 de moyenne, mais je ne suis qu´en 3eme alors...). donc le jeu se nomera SAMOTH, sera en 3D et le site ici : www.samoth.tk
Ne dites pas que je flood, c´est vous qui avez de demandé ^^.
PS : JY², toi qui est modéro, tu pourrais pas demander aux webmasters de faire une fonction éditer, ca eviterait bcp de flood de ma part, parce que ce n´est pas dans mes habitudes!!)
La fonction éditer a sans doute déjà été proposée mais à mon avis le webmaster ne va pas recoder le forum pour une simple fonction " editer"..
Ben, pour un site de cette renomé, la perfection est de rigueur non?
Bon, je sors ----> [ ]
Y´a pas de soucis si tu veux poser des questions, le forum est la pour ça, n´hésite pas ![]()
apres, si on sait, on te dira ! si on ne sait pas, ou qu´on n´a pas le temps, libre a nous de ne pas répondre ! tu vois tout le monde est libre, faut pas avoir peur de déranger !
Par contre, pour faire un RPG en 3D, je pense que tu n´as pas du tout le niveau. Je ne dis pas ça pour te vexer, je pense juste qu´il ne faut pas bruler les étapes. Mais bon, apres, c´est toi qui voit.
Le forum suggestions permettra de poser ta question sur la fonction édition qui a déja été proposée maintes fois, mais bon.
Eh ben merc pour les conseils.
Sinon, pour la programmation 3D, tu ne me vexes pas, je le savais déjà
. C´est pour cela que je me rabat pour l´instant sur un projet en 2D et que je laisse les p^ros faire ; ).
sinon, comment on s´occupe de la gestion des collisions dans SDL? Vous pourriez pas me donner un exemple?
Bah tu vérifies simplement s´il y a une unité devant toi, les collisions SDL gère pas ça, c´est à toi de les gérer.