Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 20 Apr 2003 04:59:38

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Je ne comprends pas !

voila mon probleme...
J'ai une fonction toute simple censée remplir tout l'écran par des sprites de 8*8...

Code:

void drawscreen(int x,int y)
{ unsigned char i,j=0,rep;
  int yspr=(y>>3),xspr=(x>>3),xpos=-(x%8),ypos=-(y%8); 
  clear3(SEG1);       
  for (j=0;j<9;j++,ypos+=8)
  for (i=0;i<17;i++,xpos+=8)
  { rep=map[yspr+j][xspr+i];
    d8clip_or(xpos,ypos,sprite[0][rep],SEG1);
    d8clip_or(xpos,ypos,sprite[1][rep],SEG3);}}

le probleme est que cette fonction, au lieu de faire les 153 boucles demandées (9*17) ne m'en fais que 17...soit elle ne prends pas en compte la boucle "for (j=0;j<9;j++,ypos+=cool"...
J'ai essayé plein de truc mais rien n'a réussi...


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#2 20 Apr 2003 05:33:40

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

comment tu le sais qu' elle n' en fait que 17 ??
T' est sur que tes sprites ne sont pas blanc au moins ?


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#3 20 Apr 2003 08:53:07

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Je ne comprends pas !

essaye de mettre des accloades:

Code:

void drawscreen(int x,int y) 
{
unsigned char i,j=0,rep; 
int yspr=(y>>3),xspr=(x>>3),xpos=-(x%8),ypos=-(y%8); 

clear3(SEG1);    
for (j=0;j<9;j++,ypos+=8) 
   {
      for (i=0;i<17;i++,xpos+=8) 
         {
             rep=map[yspr+j][xspr+i]; 
             d8clip_or(xpos,ypos,sprite[0][rep],SEG1); 
             d8clip_or(xpos,ypos,sprite[1][rep],SEG3);
         }
   }
}

:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#4 20 Apr 2003 09:06:18

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

euh ca va pas changer grand chose lol
Moi je pense que c' est des sprites blanc que tu affiche parce que la je voie po !


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#5 20 Apr 2003 12:58:12

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: Je ne comprends pas !

non, non...
merci xth, mais je ne suis pas débile, lol :ptdr: mes sprites ne sont pas blancs...
J'ai aussi essayé les accolades auparavant mais ca n'a rien changé


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#6 20 Apr 2003 13:09:23

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

Non, c au cas ou tu utiliserai des sprites blanc !
Imagine un peu que ton sprite blanc soit le 0, cad d8clip_or(xpos,ypos,sprite[1][0],SEG3); ca affiche du blanc !
Imagine que ton code lise or de la map, dans une zone ou il y a des zero !
Qu' est ce que ca affiche ? rien !
Ca m' est déjà arrivé, dc je te le dit ! wink


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#7 20 Apr 2003 13:36:35

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Je ne comprends pas !

deaj aere ton code ça ira deja mieux !
ensuite, met le entre paranthese et essaie de le refaire d'une autre maniere, ça marechera

Hors ligne

 

#8 20 Apr 2003 13:51:21

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

vouais parce que c programmer a la ... (devinez qui  smile )


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#9 20 Apr 2003 14:44:51

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: Je ne comprends pas !

à la qui :?:
:mrgreen:


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#10 21 Apr 2003 02:47:33

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Je ne comprends pas !

tu te sens visé ? :ptdr: :mrgreen:


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#11 21 Apr 2003 02:51:00

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Je ne comprends pas !

ah vi et fais gaffe à ça:

Code:

sprite[0][rep]

ça serait pas plutot:

Code:

sprite[rep][0]

??

personellement ça me semble logik....!


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#12 21 Apr 2003 03:11:38

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: Je ne comprends pas !

non, c'est bien sprite[0][rep]...
( j'avoue que mon code n'est pas aèré...
Mais je suis en train de faire des efforts...pour les accolades a la ligne ca viendra avec le temps...


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#13 21 Apr 2003 03:28:17

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

swifter, réfléchit a ce que je t' ai dit !
Essaye d' affiche le numéro du sprite pour voir !

A propos, ma téchnique fiat - organisé, cependant, ca prend pê - de mémoire de faire comme ceci :

unsigned char sprite0[][8]=
{
{40,30,20,10,10,20,30,40},
};

unsigned char sprite1[][8]=
{
{10,20,30,40,40,30,20,10},
};

void drawmachin()
{
drawsprite(0,0,sprite0[0],sprite1[0]);
}

Non ?  :?


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#14 21 Apr 2003 07:02:43

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: Je ne comprends pas !

mais c trop biz ton truc swif!! on dirait ke tu ne vas afficher k'1 ligne de chake sprite!!

montre" nous comment est constitué au moins un sprite pour voir! wink smile


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#15 21 Apr 2003 09:19:33

tonton1664
Membre
Lieu: Somme (80)
Date d'inscription: 22 Jul 2002
Messages: 217
Site web

Re: Je ne comprends pas !

C'est du copier-coller ton code ?

Paske des fois il y a un ';' qui se glisse a la fin du for et ca gene...

Hors ligne

 

#16 22 Apr 2003 02:22:37

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: Je ne comprends pas !

ah !!!
ca y est... j'ai trouvé...
J'ai réécris ma fonction comme superna me l'a dit, et bizarrement ca a marché...ca n'avait rien a voir avec les sprites :

Code:

void drawscreen(int x,int y,unsigned char pos)
{ unsigned char i,j=0,rep;
  int yspr=(y>>3),xspr=(x>>3),xpos=-(x%8),ypos=-(y%8); 
  for (j=0;j<9;j++)
  for (i=0;i<17;i++)
  { rep=map[yspr+j][xspr+i];
    d8clip_or(xpos+(i<<3),ypos+(j<<3),sprite[0][rep],SEG1);
    d8clip_or(xpos+(i<<3),ypos+(j<<3),sprite[1][rep],SEG3);}}

Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#17 22 Apr 2003 03:51:54

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

bin en gros tu faisait :
  for (j=0;j<9;j++,ypos+=cool
  for (i=0;i<17;i++,xpos+=cool
  { rep=map[yspr+j][xspr+i];
    d8clip_or(xpos,ypos,sprite[0][rep],SEG1);
    d8clip_or(xpos,ypos,sprite[1][rep],SEG3);}}

Explication pr ceux qui n'ont pas capter pk ca marche pas ce code :
Prenons xpos :
il commence a une valeur Xd !
le for commence sa boucle, a la fin on reviens a la1er boucle for, celle du y , et la : mince ! xpos n' est pas réinitialisé !! donc les sprites sont affiché hors de l' écran !
D' ou ce pb des ligne qui ne s' affiche pas en dessous (ou au dessus, ca dépend de comment tu est) de la 1er ligne !


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#18 22 Apr 2003 05:39:31

Superna
Ex-Trouvetou G100
Lieu: Sous Linux ^^
Date d'inscription: 01 Feb 2002
Messages: 2275
Site web

Re: Je ne comprends pas !

de rien, de rien...
ça marche toujours !

Hors ligne

 

#19 22 Apr 2003 12:56:48

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

lol et modest ac ca  smile


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#20 23 Apr 2003 15:22:51

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: Je ne comprends pas !

lol...
mais ton explication est fausse xth !!!
tout d'abord xpos n'a pô besoin d'être initialisé (vu qu'elle l'est déja au début de la fonction), mais juste incrémenté. Or elle est bien incrémenté à chaque boucle, tout comme ypos :
for ( j=0 ; j<9 ; j++, ypos+=8 )
for ( i=0 ; i<17 ; i++, xpos+=8 )


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#21 24 Apr 2003 04:33:15

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

for ( j=0 ; j<9 ; j++, ypos+=8 )
for ( i=0 ; i<17 ; i++, xpos+=8 )
{}

Bon on reprend l' explication pas a pas.
j=0;
i=0;
i<17? vi
i++, xpos+=8
et ainsi de suite .

Mais a un moment, on arrive a i qui devient = 17, t d' accord ?

Alors ce qui se passe, c' est qu' on quitte la boucle !
1er boucle FOR : j++;
2eme boucle FOR : et i=0 ! mais si on regarde ton code, xpos reste a la valeur qu' il etait cad on a toujours xpos + 17 * 8 (incrémenté 17 fois par cool !
Donc dés que on aura i++; on aura aussi xpos++ ! et donc on aura xpos + 18*8 ! et c la qu' etait ton pb !!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#22 24 Apr 2003 05:05:21

Swifter
Programmeur Graph100
Lieu: Niort (79)
Date d'inscription: 06 Aug 2002
Messages: 980
Site web

Re: Je ne comprends pas !

ah ouais...
merde...
j'avais carrément pô capté !!!
( ni vu le problème d'ailleurs)


Swifter, avec un T, n'attrapes pas la poussière mais toutes les remarques débiles :mrgreen:
              ** Swifter68@hotmail.com **

Hors ligne

 

#23 24 Apr 2003 05:12:02

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: Je ne comprends pas !

a ba quand meme lol ( je commencais a croire que je petais un plomb lol  :ptdr: )


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr