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

Projet C++ simpliste VS RPG Maker

eklair
eklair
Niveau 10
22 février 2005 à 19:12:06

c quoa CC++?
merci

Vengeur41
Vengeur41
Niveau 10
22 février 2005 à 19:17:21

Toi tu vas aller voir sur google hein ?

Musashi001
Musashi001
Niveau 10
23 février 2005 à 00:03:07

:doute: oulaaa, alors j´ai essayé de comprendre tout ce que vous avez dit et la je vois que je suis un peu à la rue...

En fait j´ai compris les 3/4 de la conversation ( pas la fin, un peu hard :rire2: ) mais un mot ne m´a pas aidé a la compréhension: tile

D´après ce que g compris, vous appellez " tiles" des représentations par du texte, des images ou juste certains endroits d´elles.

en gros sa revient à remplacer les différents éléments d´un tableau par différentes images et ainsi créer le fond du jeu.

C´est aussi le pocédé que je souhaite utiliser ( dsl JYY ^^) comme ca on peut faire des éditeurs de niveaux très simple et suivre une logique incontestable quand on mappe ^^

pour eklair: le C++ est un langage de programmation, en gros du tapes des lignes de textes spécifiques à chaque langage, tu utilises un logiciel dessus et le logiciel transforme tes lignes de texte en programme.

PS: Les gars préparez vous je vais vous sortir les pires questions que vous vous êtes jamais posés!! :fou: :fou:

Vengeur41
Vengeur41
Niveau 10
24 février 2005 à 18:42:29

Entre midi et 2 j´ai codé un petit editeur de map pour mon programme.

http://membres.lycos.fr/vengeurstock/MapEdit.zip

J´ai des problèmes d´upload snif...

En gros, vous creez votre map ( très simple : vous choisissez un tile avec D et G , vous bougez le curseur blanc avec les touches directionnelles sur la carte et appuyez sur espace pour le poser) puis vous appuyez sur S.

Ensuite, quittez le programme et regardez le fichier map.txt qu´il a créé. Selectionnez tout, copiez le tableau a la place de l´ancien de mon programme et...(vous connaissez le résultat).

Bref, tout pour commencer un petit rpg sympa en C ; )

Musashi001
Musashi001
Niveau 10
24 février 2005 à 18:51:00

merci bcp angeur41, mais esque tu pourait mez filer le sdl_ttf, il me semble que je l´ai mais j´arrive pâs a l´installer et donc j´ai pas pu tester ton jeu

merci(a propos j´ai 16 ans et je trouve très bien que dans ce type de forum on trouve des gars comme toi et pas que des " pro" qui traite tout le omde ne newbie.

Vengeur41
Vengeur41
Niveau 10
24 février 2005 à 19:11:06

http://membres.lycos.fr/vengeurstock/SDL_ttf.zip
96ko

Contient SDL_TTF.h libSDL_TTF.a et SDL_TTF.dll

Musashi001
Musashi001
Niveau 10
24 février 2005 à 19:21:18

merci beaucoup vengeur41!
en effet j´avais pas les bon fichiers

bon je v de ce pas tester ce jeu et cet éditeur!

sinon pour en revenir a mon projet initial, je suis en train de suivre les tuto de JYY et je comprend tout donc merci a lui et je pense revenir bientot avec quelques questions

Musashi001
Musashi001
Niveau 10
25 février 2005 à 02:25:45

Bon ba voila comme promis j´ai plein de questions, je viens de finir les tuto de JYY sur le SDL et maintenant j´essaye de faire le début de mon RPG.

J´affiche une image qui bouge de gauche à droite
avec le code suivant: ( c´est le tuto de JYY d´image qui bouge)

--------------------------------------------------

  1. include < SDL/SDL.h>

SDL_Surface* screen;
SDL_Surface* screen1;
SDL_Surface* screen2;
SDL_Surface* screen3;
SDL_Surface* screen4;

SDL_Event event;

void init_SDL()
{
SDL_Init(SDL_INIT_VIDEO);
screen = SDL_SetVideoMode(640, 480, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN);
SDL_ShowCursor(0);
}

SDL_Rect Rect(int x,int y,int w,int h)
{
SDL_Rect r;
r.x=x;
r.y=y;
r.w=w;
r.h=h;
return r;
}

SDL_Surface* LoadBMP(char* fichier,int vram=1)
{
SDL_Surface* f = SDL_LoadBMP(fichier);
SDL_Surface* r=NULL;
if ( vram)
r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
if ( r==NULL) vram=0;
if ( !vram)
r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);
SDL_Rect R=Rect(0,0,f->w,f->h);
SDL_BlitSurface(f,NULL,r,&);
SDL_FreeSurface(f);
return r;
}

int main(int argc , char **argv)
{
int s=1;
int x=0;
SDL_Rect rect1;
init_SDL();
rect1.x = 0;
rect1.y = 128;
rect1.w = 1024;
rect1.h = 768;
screen1 = SDL_LoadBMP("sprites2/Image1.bmp");
screen2 = SDL_LoadBMP("sprites2/image2.bmp");
screen3 = SDL_LoadBMP("sprites2/image3.bmp");
screen4 = SDL_LoadBMP("sprites2/image4.bmp");
while(1)
{
x+=3*s;
rect1.x=x;
if ( x<0) s=1;
if ( x>400) s=-1; SDL_BlitSurface(screen1,NULL,screen,&1);
SDL_Flip(screen);
}
SDL_ShowCursor(1);
SDL_Quit();
return 0;
}

--------------------------------------------------

Questions
1/Je voudrais que l´image affichée change lors de son mouvement, qu´au lieu d´afficher screen1, on affiche screen2 lorsque x<=100, puis screen3, screen4..ect et tout ca doit dépendre de x.
( J´ai essayé avec une série while puis de if, sans succès)

2/Est-il vraiment utile de quitter le sdl, à partir du moment ou on quitte le programme?

3/La fonction SDL_ShowCursor() sert à montrer ou a cacher la souris, mais dans les deux cas, je ne la voit pas, pourquoi?

Musashi001
Musashi001
Niveau 10
25 février 2005 à 02:28:14

j´ai mis une accolade en trop vers la fin, mais ce n´est pas lié a mon probleme

Musashi001
Musashi001
Niveau 10
25 février 2005 à 02:30:29

nan en fait j´ai rien mis en trop lol

JeanYvesYves
JeanYvesYves
Niveau 10
25 février 2005 à 10:04:57

1/
cree un tableau plutot que 4 variables différentes screen1,screen2,screen3,screen4
-->
SDL_Surface* surf[4];

puis ensuite, pour charger :
surf[0] = SDL_LoadBMP("sprites2/Image1.bmp");
surf[1] = SDL_LoadBMP("sprites2/image2.bmp");
surf[2] = SDL_LoadBMP("sprites2/image3.bmp");
surf[3] = SDL_LoadBMP("sprites2/image4.bmp");

peut etre optimisé, mais bon...

et ensuite, tu veux qu´en fonction de x, l´indice change ?

SDL_BlitSurface(surf[(x/100)%4), NULL,screen,&1);

voila :)
comme tu vois, ça divise x par 100, donc ça te sert, tous les 100, un nombre différent ( 0,1,2,3,4,5,6,7,....)
mais comme au dela de 3 ça n´existe plus, je fais %4.
l´avantage de modulo dans ce cas, ça sert a boucler : un nombre %4 variera entre 0 et 3 : exactement ce qu´on veut ! !
donc ça fera, tous les 100 :
( 0,1,2,3,0,1,2,3,0,1,....)
correct non ?

2/ non : car le systeme, de toute façon, sait désallouer le programme quand il quitte ( sécurité de Windows XP ( attention a win98 par contre))
oui : car si tu désalloue pas, ça fait programmeur crado, pas bien ! !

3/ SDL_ShowCursor marche comme un blit de souris ( et oui, la souris n´est rien d´autre qu´une SDL_Surface, si j´ose dire ! )
donc met le juste avant le flip.

highlyman
highlyman
Niveau 9
25 février 2005 à 10:17:15

moi je cherche quelqu´un qui saurait faire un truc de ce genre ,
http://www.3d-rpgbuilder.com
bah ouais, c´est du du type rpg maker mais en 3d ( plus ou moins) mais ce log est plus diriger vers du rpg de type everquest, ou ultima online, il me faudrait plus un moteur de type FF. donc avis au c++´iens. merci
PS ca afit un an que je cherche un programmeur.

Musashi001
Musashi001
Niveau 10
25 février 2005 à 10:33:43

Merci beaucoup pour toutes ces réponses JYY!!
Et surtout pour ces explications claires et précises, j´aurais jamais pensé a faire un truc pareil pour la 1/, mais c´est vrai que c´est pas bete du tout ^^

par contre comme tu le dis dans un de tes tuto, t´aime pas trop taper, et ca doit être la raison de tes nombreuses fautes d´inatention ^^, naaaan de pas grave^^
SDL_BlitSurface(surf[(x/100)%4), NULL,screen,&1);
c´est pas tout à fait ca, c´est plutot:
SDL_BlitSurface(surf[(x/100)%4], NULL,screen,&1);
Hé oui, une parenthèse, ou un crochet peut faire toute la différence ^^ ( Mais peut être que ca faisait partie intégrante de ton explication, si j´avais pas compris l´idée ca marcherai toujours pas.. ^^)

JeanYvesYves
JeanYvesYves
Niveau 10
25 février 2005 à 10:36:55

autant pour moi, petite faute d´accolade en effet :-)
mais bon, l´essentiel est que l´idée soit passée :content:

Vengeur41
Vengeur41
Niveau 10
25 février 2005 à 10:38:20

Le SDL_ShowCursor n´est pas a mettre à chaque boucle, c´est au début.

Par contre si dans l´initialisation de Screen, tu as mis SDL_DOUBLEBUF + SDL_FULLSCREEN, ca marchera pas.

En tt cas, pour le reste des cas ca marche.

Peut-etre que le ShowCursor dans ces cas là se met dans la boucle ?

Musashi001
Musashi001
Niveau 10
25 février 2005 à 10:41:22

Je ne crois pas, il me semble qu´il se met en début et éventuellement en fin de programme ^^

Bon ba une autre question pour vous les gars:
La méthode de JYY, marche parfaitement, mais si je veux changer les temps entre certaines, ou toutes les images, je fais comment?

Il faut appliquer le même style de méthode mais en l´adaptant, ou faut il en trouver un autre?

Musashi001
Musashi001
Niveau 10
25 février 2005 à 10:51:17

Donc si j´ai bien compris avec la méthode de JYY, si j´ai 5 images, j´ai %5 au lieu de %4 dans la ligne:
SDL_BlitSurface(surf[(x/100)%4), NULL,screen,&1);

JeanYvesYves
JeanYvesYves
Niveau 10
25 février 2005 à 11:09:20

oui, avec la méthode modulo, si tu fais module N, tu boucles entre 0 et N-1

Musashi001
Musashi001
Niveau 10
25 février 2005 à 11:14:27

ok pour ca, mais si je veux changer le temps entre les images, comment je fait ( je veux qu´il ne soit pas régulier par exemple)

Musashi001
Musashi001
Niveau 10
25 février 2005 à 13:09:26

Si quelqun pouvait m´expliquer aussi comment utiliser les touches du clavier dans mon code, je vois absolument pas comment faire, j´ai regardé la source de vangeur, mais je comprend pas grand chose

bon aller je balance ma liste de questions:
1/Comment fait on varier la vittesse entre plusieurs images(une animation) qui est en même temps en mouvement?

2/Comment fait on passer du temps dans notre programme?? Faut-il simplement icrémenter une variable dans une boucle et mettre un if pour reprendre le programme?

3/Comment utiliser les différentes touches du clavier?

Merci d´avance!
Sinon, je vous propose tout simplement ( pour la question 3/ ) , de commenter et d´expliquer le programme de Vangeur41

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