Se connecter

Informatique

Création de Jeux

Sujet : SDL
bloodmonster
Niveau 9
22 mai 2005 à 21:48:33

lockstach j´ai un probleme pour appeler timeGetTime il me met qu´il n´y a aucune référence dans le programme est ce normale ?
deuxieme chose le temps en milliseconde
je croit que je le mais pas au bonne endroit je fait timeGetTime(5000);
dsl pour les question jsuis vraiment un noob et j´ai jamais vue comment fonctionnait un timer dans sdl

désolé
et merci

lockscash
Niveau 6
22 mai 2005 à 23:06:08

@Dino
Euh, il me semble que ta un peu toute les infos pour faire ton truc, aller réfléchi, tu sais déja que normalement tu as ces 2 conditions pour tester si la balle touche ou pas une barre, ensuite tu en a d´autre pour savoir dans quel sens la balle est sencé repartir en fonction de l´angle d´arrivé. Je t´ai donnée sous forme d´algorithme ce à quoi doit ressembler les premières conditions.

@blood
La fonction timeGetTime ne prend pas de paramètres.
exemple :
DWORD CurrentTime = timeGetTime();
( DWORD est un type au même titre que int, mais si ca te gène, tu peux le faire comme ca, un DWORD n´est pas un nombre flotant)
int CurrentTime = ( int)timeGetTime();

Donc dans CurrentTime tu récupère une valeur en milliseconde qui correspond au temps depuis que le PC est allumé.

Indication : Il te faudra surement plusieurs variables pour accumuler le temps, sachant que tu vas récupérer une valeur super grande. En gros tu récupère une fois le temps, et dans la boucle de ton jeu ou programme ( car il te faut un appel quasi-constant pour vérifier les valeurs) tu test si la valeur est > 5000 ( 5sec)
InitTime = timeGetTime();
. ..
boucle { CurrentTime = timeGetTime()
si ( CurrentTime - InitTime > 5000) Paf 5secondes se sont écoulé :p)

Ca y est, j´en ai trop dit :)

Pour te servir de timeGetTime() tu auras besoin d´inclure la librairie " winmm.lib " si ce n´est pas déja fait d´origine, dans les éditions de lien de ton logiciel pour la compilation.

C´est pas du SDL au passage, ca fait parti du C/C++.

lockscash
Niveau 6
22 mai 2005 à 23:09:34

@Blood
J´ai oublié de refermer la } :-)

Sinon " lockstach " on me l´avais jamais faite, pourtant j´en ai vu des manières bizarres d´écrire mon pseudo. Ca me fait penser à

kouloukoukou loukoukou lockstach
kouloukoukou loukoukou lockSTACH ! !!

:dehors:

Lapintade
Niveau 25
22 mai 2005 à 23:19:01

dynoplasmma > Je viens de trouver deux messages a toi dans le topic " pokemon" ou tu insultes les gens.

Tu peux m´expliquer a quoi tu joue ?

Faut que je fasse quoi pour que tu comprennes une bonne fois pour toute ? que je te censure et que j´efface systematiquement tous les messages que tu ecris , y compris les serieux ?

Tu m´a dit que tu t´es souvent fait virer de forums ou de chat . .. et tu continues ici. T´es stupide ? Ca t´a pas servi de lecon ?

Quand les gens auront cliqué sur le triangle rouge a coté de ton nom, tu seras banni d´ici ( je peux rien faire, ca passe pas par moi ca). Je t´ai prevenu.

DarkRellik
Niveau 6
23 mai 2005 à 01:02:28

Paf, dans les dents !

dynoplasmma
Niveau 9
23 mai 2005 à 13:01:00

Mon but n´etait pas d´insulter les gens, mais je trouvais ces deux liens marrant, a quoibon insulter des gens qui m´ont rien fait.
Je ne pensais pas que j´allais blesser quelqu´un.
Quand on m´a passé ces lien, j´ai ete dessu, j´ai bin rigolé. Je ne me sentais pas insulté du tout.
Il faut plaisanter.
Tellement que je trouvais ca drole, je les ai posté sur un forum pour que les gens se marrent eux aussi, et refie ce lien, un while quoi.
Desolé si tu crois que je t´ai insulté, mais je trouvais ca fun.

dynoplasmma
Niveau 9
23 mai 2005 à 13:08:37

Sinon, je relirais tout le tpic ce soir pour re essayer, par ce que la, je pars to scholl vers 12.15

Lapintade
Niveau 25
23 mai 2005 à 13:20:29

Que tu trouve des liens marrant ok, mais ne les mets pas n´importe ou. Il y a un topic blabla ou meme rigolade pour ceux.

Il y a une discussion autours d´un jeu pokemon et toi tu balance deux liens " t´es idiots" et " t´es un boulay". C´est vraiment deplacé.

Je ne pensais pas que . ..

Ben maintenant va falloir commencer a penser un peu.

Il faut plaisanter.

Pas n´importe ou.

bloodmonster
Niveau 9
23 mai 2005 à 17:33:02

lockscash escuse c´etait pas pour t´insulté
i´m sorry
very sorry

Vengeur41
Niveau 10
23 mai 2005 à 18:22:15

Avec SDL, le timeGetTime =

unsigned int SDL_GetTicks(void);

tomtomclancy
Niveau 9
23 mai 2005 à 18:27:22

bloodmonster > pourquoi tu t´excuses, la maniere dont tu l´a appelé est representatif du personnage je trouve ( humour).

sinon le probleme il est resolu ou non ?

bloodmonster
Niveau 9
23 mai 2005 à 20:08:15

:snif:

non j´arrive pas a le mettre dans mon prog
saleté de machine n´en fait qu´a sa tete ( humour)
vous pouvais pas mettre le code
en comme sa
x
x
x
et faire
x / /commentaire
parce que je suis trop trop perdu
merci

:snif:

lockscash
Niveau 6
23 mai 2005 à 21:18:34

J´ai pas vu d´insulte moi, pas la peine de t´escuser. Mon pseudo est écorché 30 fois par jour, j´ai de quoi en écrire un dico. Au contraire ca me fait marrer :rire2:

donc d´après vengeur, il y a un équivalent de timeGetTime spécial pour la SDL, donc ne te prive pas de ca :)

bon, aller je la refait encore une fois :
x//Récupérer 1 première fois le temps actuel ( au début par exemple)
x unsigned int Time = SDL_GetTicks(void);
x
x . .. / /plein de choses ( ton programme
x
x / /On arrive à ta boucle de jeu, ou de ton application, donc une boucle qui tourne sans arret, il t´en faudra une

x unsigned int CurrentTime = SDL_GetTicks(void);
x if ( CurrentTime - Time > 5000)
x {
x / /La tu fait ton action pour swapper les images
x Time = CurrentTime;
x }

bon... je sais pas du tout le rendu que ca va avoir avec tout ces x partout, surprise :p)

dynoplasmma
Niveau 9
25 mai 2005 à 15:17:54

Bon je reposte ici, re desolé pour les liens, mes parents avaient coupé internet, je reup juste cet page pour que je n´ai psa a la cherché dans tout le forum.

dynoplasmma
Niveau 9
25 mai 2005 à 15:44:53

j´ai amelioré collision :

void collisions()
{
if( r2.x == r4.x && r2.y == r4.y && sy==1 && sx==-1) sy=1&&=1;
if( r2.x == r4.x && r2.y == r4.y && sy==1 && sx==-1) sy=1&&=1;
if( r3.x == r4.x && r3.y == r4.y && sy==-1 && sx==1) sy=-1&&=-1;
if( r3.x == r4.x && r3.y == r4.y && sy==-1 && sx==1) sy=-1,sx=-1;
}

dynoplasmma
Niveau 9
25 mai 2005 à 15:48:04

Ca me met 3 fautes pareils sur les 3 premieres lignes :

non-lvalue in assignment

Je ne sais pas trop ou mettre la taille, comment : barre_g*, peut etre.

dynoplasmma
Niveau 9
25 mai 2005 à 16:02:42

Sinon, les " &&" marchent pas dans la reponse, il faut mettre des virgules comme cela :

void collisions()
{
if( r2.x == r4.x && r2.y == r4.y && sy==1 && sx==-1) sy=1,sx=1;
if( r2.x == r4.x && r2.y == r4.y && sy==1 && sx==-1) sy=1,sx=1;
if( r3.x == r4.x && r3.y == r4.y && sy==-1 && sx==1) sy=-1,sx=-1;
if( r3.x == r4.x && r3.y == r4.y && sy==-1 && sx==1) sy=-1,sx=-1;
}

le probleme, tjs la taille des images, si quelqu´un peut m´eclairer a ce sujet ?

Sinon, je ne sais plus ce que signifie parachute deployed dans un bloc note dans le fichier de l´executable.
Je me rappelle que JYY disais, pour pas que la SDL se fracasse, elle deploie son parachute, mais pourquoi ?

JeanYvesYves
Niveau 10
25 mai 2005 à 16:07:27

dynoplasmma > pour se fracasser moins fort. Mais bon, sinon, tu mets NO_PARACHUTE dans l´init de SDL ( vérifie le type) et tu te prends ton seg fault correctement !

Sinon, pour les collisions, jamais d´égalités...
Uniquement des inégalités...

dynoplasmma
Niveau 9
25 mai 2005 à 16:09:57

a oui, pas de =, que des < ou > , ok.
Je vais reflechir a mon collision.
Donc,pas besoin de la taille des images, non ?

dynoplasmma
Niveau 9
25 mai 2005 à 16:22:40

petite derniere question comment traduire mon truc d´en dessous en code :

Si(barre_g.y,niveauleplushaut<balle,tout>barre_g.y
,niveauleplusbas)sy=1

Sujet : SDL
   Retour haut de page
Consulter la version web de cette page