Jump to content
Sign in to follow this  
Mr.Franckysnow

2 petites questions sur le timer et l'objet _spritedef

Recommended Posts

1) j'aimerai utiliser la librairie timer pour faire varier la vitesse de mes sprites en fonction de la difficulté selectionnée et aussi cela servira a ma fonction d'affichage de sprites pour savoir si elle peut initialiser un nouveau sprite (en fonction du temps ecoulé depuis l'ancien sprite) pour eviter que 2 sprite soient superposées, ou est ce que je peut trouver de la documentation sur cette librairies (site en francais mais jpense que jpeux faire une croix dessus ou en anglais ou alors quelqu'un m'explique si il a le temps mais je suppose que c'est long)

 

 

2) a propos de l'objet _spritedef, est ce que je peux ajouter un attribut dans l'objet ou pas

exemple avec un booleen

_spritedef mySprite;        mysprite.booleen = TRUE/FALSE;        mySprite.posx = 0;        mySprite.posy = 0;        mySprite.size = SPRITE_SIZE(2,2);        mySprite.tile_attr = TILE_ATTR_FULL(PAL0,1,0,0,TILE1);        mySprite.link  = 0;        VDP_setSpriteP(0, &mySprite);        

merci d'avance

Share this post


Link to post
Share on other sites

/**
 * \brief
 *      Start internal timer. (0 <= numtimer < MAXTIMER)
 *
 * \param numTimer
 *      Timer number (0-MAXTIMER)
 */
void startTimer(u16 numTimer);
/**
 * \brief
 *      Get elapsed subticks for specified timer.
 *
 * \param numTimer
 *      Timer number (0-MAXTIMER)
 * \param restart
 *      Restart timer if TRUE
 *
 * Returns elapsed subticks from last call to startTimer(numTimer).
 */
u32  getTimer(u16 numTimer, u16 restart);

Share this post


Link to post
Share on other sites

Il me semble que ce sont des cycles CPU.

 

Après à toi de faire des tests pour convertir en secondes  ;)

 

Tu démarres un timer, ex: startTimer(1);

Ensuite tu interroges le timer,

ex:

if (getTimer(1, 0)==10000) {getTimer(1, 1); action_sur_les_sprites();}

 

getTimer(1, 1); le remet à 0... il redémarre automatiquement.

Share this post


Link to post
Share on other sites

ok donc le 2e parametre de gettimer c'est le bool de remise a zero (sympa , pas besoin de faire une fn de remise a zero, c'est deja intégré) par contre, le u16 numtimer qui sert a starttimer et gettimer en 1er param, , je comprend pas ce bool, tu as mis 0<=numtimer<maxtimer, donc la , rien de bien méchant, mais au final il est égal a 1, tu saurais me dire pourquoi???

 

edit: jviens de comprendre un truc tout con, il suffit que j'ouvre le header de la lib et tout est affiché :mrgreen: , neanmoins, , un peu d'aide est tjrs bien venu pr comprendre

 

edit 2, jviens de voir que la fonction gettimer donne le temps passé en substick ( un substick =1/ 76800 eme de seconde) par contre le maxtimer est egal a 16, pourquoi?

 

merci

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...