!The Gimp
Et après tu fais un zouli remplissage de ton personnage en noir et tu convertis cette ombre de personnage pour ton code.
donc récapitulons:
je pren mons sprite de départ, jle remplit de noir ce qui me donne mon masque.
ce masque je l'applique au fond en AND et japplique par dessus mon sprite en OR c'est bien ca ?
et quand le sprite bouge je dois faire de la meme maniere ?
je dois quand meme reinitialisé la position attérieure non ?
Ca dépend un peu de la techno d'affichage utilisée: dessin direct de sprites pour le fond dans deux écrans (un par plan pour les niveaux de gris) de la même taille que l'écran, ou écran virtuel type tilemap engine.
je ne comprend pas ...
je fais un premier ecran virtuelle ou je stoque le masque du sprite et le sprite ensuite
puis j'en fais un auter ou je stoque le deuxieme lasque et son sprite.
Puis j'affiche le 1er écran puis je laisse passer un peu de temp grâce à la commande :
for(i=0 ; i<50000 ; i++) __asm__ __volatile__("");
Ensuite j'affiche le deuxieme sprite.
le probleme c'est que mon sprite clignote tellement vite que je n'ai pas le temps de le voir ...
voila mon code:
if(_rowread(0x7E)&0x8) //Droite
{
PortSet(Vscreen1, 199, 99); //premier ecran virtuelle
Sprite16(pos_x_TI, pos_y_TI, 16, link_anim_marche_droite1_masque, LCD_MEM, SPRT_AND); //affichage encran virtuelle masque sprite16Sprite16(pos_x_TI, pos_y_TI, 16, link_anim_marche_droite1, LCD_MEM, SPRT_OR); //affichage encran virtuelle sprite1
PortSet(Vscreen2, 199, 99); //deuxieme ecran virtuelle
Sprite16(pos_x_TI, pos_y_TI, 16, link_anim_marche_droite2_masque, LCD_MEM, SPRT_AND); //affichage encran virtuelle masque sprite2
Sprite16(pos_x_TI, pos_y_TI, 16, link_anim_marche_droite2, LCD_MEM, SPRT_OR); //affichage encran virtuelle sprite2
memcpy(LCD_MEM, Vscreen1, 3840); //affichage premier ecran virtuelle
for(i=0 ; i<50000 ; i++) __asm__ __volatile__(""); // le temp pase pour que l'animation ne soit pas trop rapide
memcpy(LCD_MEM, Vscreen2, 3840); //affichage deuxieme ecran virtuelle
pos_x_tbl_perso=pos_x_tbl_perso+1; // position perso change
pos_x_TI=pos_x_TI+1; // position perso change
}
Zeph Le 14/12/2006 à 19:27 Ta boucle d'attente ne fait rien, donc le compilateur la supprime probablement; l'une des solutions est de déclarer la variable "i" en volatile pour le forcer à la conserver. Mais dans tous les cas, ce genre d'attente n'est pas terrible, regarde plutôt dans la doc de TIGCC à propos des timers.
(et il y a un bouton "éditer" pour ne pas poster plusieurs fois d'affilée, surtout si c'est pour insister quand tu n'as pas eu de réponse au bout de 30 minutes...)

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
dsl pour le post =(
Ceci dit, j'arrive vraiemnt pas à comprendre comment faire pour faire simplement avancer un ptit bonhomme (2 sprite qui forme une animation) sans que cela efface l'arriere plan parce que pour un seul ca va jy arrive mais paré pour une animation je sai pas comment faire.