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

J´aide les personne en C/C++

pandamark
pandamark
Niveau 6
30 mars 2005 à 19:09:17

sonic66: Ce n´est pas parce que on te repond pas que tu doit mettre l´attention sur ta question.

sonic66
sonic66
Niveau 10
30 mars 2005 à 19:09:52

a ok!
je pensait un peu que SDL_Rect Rect(int x,int y,int w,int h)
netait pas une fonction mais plutot quelque chose du genre struct , un truc specifique a la sdl qui servirait a faire un rectangle or du int main ^^
ben merci!

nulissimo
nulissimo
Niveau 4
30 mars 2005 à 19:31:41

SDL_Event def_mov ( event)
{

Ca marche ?
Le compil me met une erreur avant " {"
syntax error before `{´ token

pouky10
pouky10
Niveau 6
30 mars 2005 à 19:42:59

Salut, cela fait quelque temp que j´essaie de mettre une animation en c++ en screensaver(économiseur d´écran, j´écris ici car je sais qu´il y a beaucoup de spécialiste en c++( car mon topic ne précisait pas c++, le voici pour plus d´info https://www.jeuxvideo.com/forums/1-31-8365644-1-0-1-0-0.htm )
. Je l´ai fait avec SDL, mais quand je le change en mon . exe en . scr et que je clique à droite puis installer, le screensaver ne fonctionne pas, j´ai seulement un fond noir, pourquoi que dois-je faire(pour plus d´info https://www.jeuxvideo.com/forums/1-31-8365644-1-0-1-0-0.htm )
. Voici mon code source http://img11.exs.cx/img11/2457/32sprites3uk.png ( chnager la en bmp)):

  1. include < stdio.h>
  2. include < stdlib.h>
  3. include < SDL/SDL.h>

SDL_Surface *screen;

class sprite
{
public:
int nombre; / / chiffre à afficher
int vitesse; / / vitesse
int next; / / temps du prochain changement
static int total; / / nombre de chifrre
static SDL_Surface *ima;
SDL_Rect r,d;
sprite(int time); / / constructeur

void actusprite(int &) / / regarde si on doit chager d´étape
{
if(time > next)
{
next= time +vitesse;
nombre++;
if(nombre>10)
nombre=0;
r.x=nombre*32;
}
}
};

int sprite::total=0; / / déclare les membre static de sprite
SDL_Surface *sprite::ima =SDL_CreateRGBSurface(SDL_HWSURFACE, 800, 600, 32, 0, 0, 0, 0);

sprite::sprite(int time=SDL_GetTicks())
{
int temp=0;
nombre=0; / / organise chaque sprite
vitesse=(rand()%2000)+200;
next=time;

r.x=nombre*32; / / surface de départ
r.y=0;
r.w=32;
r.h=32;

d.x = ( total%25)*32; / / surface d´arriver
d.y=(total/25)*32;
d.h=32;
d.w=32;

total++;

}

void initsdl() / / initialise la sdl
{
if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER)<0)
{
printf("SDL can´t init %s" , SDL_GetError());
exit(1);
}
atexit(SDL_Quit);
SDL_ShowCursor(0);
screen

=SDL_SetVideoMode(800,600,32,SDL_FULLSCREEN|SDL_HW

SURFACE|SDL_DOUBLEBUF);
if(screen==NULL)
{
printf("Can´t set video mode %s", SDL_GetError());
exit(2);
}
sprite::ima= SDL_LoadBMP("32sprites.bmp");

}

int main(int argc, char* argv[])
{

SDL_Event event;
bool done =true;
initsdl();
int i;

srand(SDL_GetTicks()); / / nombre aléatoire

int time;
sprite chiffre[476];// tout les nombre

while(done==true)
{
time=SDL_GetTicks(); / / réorganise les sprite à la bonne étape
for(i=0;i<476;i++)
{
chiffre[i].actusprite(time);
}

SDL_PollEvent(&); / / attend une touche
if(event.type==SDL_KEYDOWN ) break;

for(i=0;i<476;i++)
{
SDL_BlitSurface(sprite::ima, &[i].r, screen , &[i].d);
}
SDL_Flip(screen);
}

return 0;
}

JeanYvesYves
JeanYvesYves
Niveau 10
30 mars 2005 à 22:25:41

sonic66 > Rect est une fonction que j´ai faite, regarde dans mon code sourace ou tu l´as trouvé, elle y est implémentée.

Ptival
Ptival
Niveau 10
30 mars 2005 à 22:59:29

nulissimo ->

SDL_Event def_mov ( event)
{

Le problème ici c´est que tu n´as pas typé l´argument event, et donc il doit prendre ça pour un appel de fonction genre ça :

SDL_Event def_mov(event);

Alors que ce que tu veux faire c´est définir une fonction, donc il faut typer l´argument :

SDL_Event def_mov([type] event)
{
}

Ptival
Ptival
Niveau 10
30 mars 2005 à 23:01:40

ah non j´ai rien dit, si tu mets le type de retour devant il sait que c´est une définition...

Bon ben sinon regarde si t´as pas un ; ou un truc qui manque à la ligne d´avant...Pis types ton event :)

pouky10
pouky10
Niveau 6
31 mars 2005 à 19:21:08

:svp: répondez à mon message plus haut

dnob700
dnob700
Niveau 10
31 mars 2005 à 23:33:30

pouky : est ce que en . exe ton programme marche normallement ?
si non, ça ne marchera pas en . scr.

Si oui, ne clique pas sur installer, mais sur tester pour voir, la il le lance juste normallement.

Si ça marche, cliquer sur installer ne devrait pas le lancer mais juste l´enregistrer comme écran de veille à la place de l´écran de veille ( comme dirait l´autre).

pouky10
pouky10
Niveau 6
01 avril 2005 à 00:00:16

Mon éxécuteur marche mais pas le screensaver même aprè la méthode que tu vien de me donner par contre je n´avait pas réussit à testé le 2e argument si il est / s comme tu m´avait déja dit(mon éxécuteur ne marchait plus), quel test dois-je faire if(argv[2] ! = ! /s!) , if(argv[2] ! = ! /s!) utiliser strcmp ou comment?

dnob700
dnob700
Niveau 10
01 avril 2005 à 00:09:02

strcmp(argv[1],"//s");

ou alors :
if ( argv[1][0]==´//´&&[1][1]==´s´)

pouky10
pouky10
Niveau 6
02 avril 2005 à 00:48:09

Salut, je n´ai pas encore réussit, pourrait-tu tester mon programme et me dire ce que je devrait faire(si tu as le temps et si tu veux). Je l´ai mis sur mon stie le voici: http://pouky10.morgendavivid.dyndns.org/sreensavers.rar
Winrar va te dire qu´il y a des fichier corompue mes c´est correcte.

jejej
jejej
Niveau 9
02 avril 2005 à 12:50:12

Bonjour à tous , j´ai un problème avec les maths :

j´ai arrete ( momentanement ) la programmation de jeu , pour programmer exclusivement du graphisme ( une demo graphique 2d hum . .. )

Bon , j´ai réussi à faire un cercle à l´ecran :) ( rigolez , mais c´est pas si facile . .. ) mais , sans utilisez cosinus ou sinus , parceque je n´y arrive pas .

Pour le cercle , j´ai fait autrement , mais là je voudrais dessiner une sinusoide .

voici mon code :

void DSinusoide( SDL_Surface *screen , Couleur coul)
{
Slock(screen);

int x;
for(x=0; x < = 1024 ; x++ )
{
DPoint( screen , x , sin(x)*3.14/180+384 , coul.R , coul.G , coul.B ) ;
}

Sulock(screen);
}

Ce code n´affiche en fait qu´une ligne plus ou moins droite en fait .
J´ai change le sin(x)*3.14/180+384 en 100*sin(x)*3.14/180+384 , pour augmenter la taille de la sinusoide , mais ca ne fait qu´agrandir la distance entre les points . ..

Quelqu´un sait comment dessiner ce que je voudrais ? merci beaucoup :)

( je crois que le probleme vient d´un melange radiant-degres , pas sur . .. )

sonic66
sonic66
Niveau 10
02 avril 2005 à 13:19:57

t aussi esce que
Rect(0,0,f->w,f->h);
est comme
r.x=......
r.y=.......................
ect......

Blawk
Blawk
Niveau 10
02 avril 2005 à 13:45:03

La programmation de primitive graphique est assez ardue dès que l´on veut donner de l´épaisseur à ses traits et/ou mettre en place un anti-aliasing.

Donc si programmer ces primitives n´est pas un but en soi, tu peut regarder du coté de http://www.libsdl.org/ pour des bibliothèques basées sur SDL et sur http://www.antigrain.com/ pour l´excellente bibliothèque AGG.

jejej
jejej
Niveau 9
02 avril 2005 à 15:31:55

blawk : je n´ai pas compris , tu me répondais ?

en fait , ce que je voudrais , c´est l´équation pour dessiner une sinusoide potable , parceque , un sinus etant compris entre -1 et 1 , sur un ecran de 768 pixels de hauteur , la différence n´est pas flagrante . ..

mais , si je mets sin(x)*50 , la courbe est plus grande , mais ce n´est pas une courbe , mais un ensemble de points repartis un peu n´importe comment . ..

sonic66
sonic66
Niveau 10
02 avril 2005 à 16:07:42

depuis deux heures que je suis dessus mais bizarement l´image ne bouge pas!
a l´aide! :snif:
http://rafb.net/paste/results/e1bGpr24.html

sonic66
sonic66
Niveau 10
02 avril 2005 à 16:11:20

ya quelqun?
:up:

sonic66
sonic66
Niveau 10
02 avril 2005 à 16:45:23

vous tes la?

chuitrobo
chuitrobo
Niveau 3
02 avril 2005 à 16:46:28

Oué je suis la...

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