Fermer2
sam22Le 18/04/2008 à 23:24
Bonsoir tous le monde,

Voila, j'ai (presque) terminé ce que je voulais faire : un programme où on bouge Link sur l'écran.

Mais il subsise encore quelques problèmes.
D'abord, voici la source tromb Fichier joint : Zelda.zip (dsl pour les innombrables commentaires smile ).

Voici donc les 3 problèmes que je vois :

-Ce n'est pas un gros problème (enfin), mais qu'en je compile le programme pour TI-Emu(émulant un HW 3.10) , il va environ 3x plus vite que sur ma TI-89T(HW 3.10) ou que sur VTI (HW 2.05). Donc au cas où essayez de changer #define WAIT xxx dans sprite.h (plus il est grand plus c'est lent).

-On ne peut pas faire de diagonales (mais, je crois qu'il faut utiliser _keytest_optimized).

-ET SURTOUT, les 2 sprites formant un mouvement se succèdent mais beaucoup trop vite !! Voyez plutôt



iFQI



Je pense qu'il faudrait mettre des pauses

ici

//Efface
Sprite16(*p_x,*p_y,SPRITE_HAUTEUR,zelda_Mask[*p_asav],GetPlane(DARK_PLANE),A_REVERSE);
Sprite16(*p_x,*p_y,SPRITE_HAUTEUR,zelda[*p_asav],GetPlane(LIGHT_PLANE),A_REVERSE);

//Fait les chgt de coord
*p_y += yaug;
*p_x += xaug;

et/ou ici

//Retrace a la nouvelle coord
Sprite16(*p_x,*p_y,SPRITE_HAUTEUR,zelda_Mask[absc],GetPlane(DARK_PLANE),A_AND);
Sprite16(*p_x,*p_y,SPRITE_HAUTEUR,zelda[absc],GetPlane(LIGHT_PLANE),A_OR);


J'ai déjà essayé les For dans le vide (mais trop rapide) et les Timers (mais trop lent).
Ou alors le probleme se situe autre part ??

Sinon pour le _keytest, pour le ralentir, à chaque fois que l'on appuie sur une touche une Variable et incrémentée. Si celle si est égal à 100 on fait x++; (par exemple) et on remet la Variable à 0.
Peut être ce système (plutôt à l'arache smile ) pose problème et il y a sans doute une meilleur solution ??

(PS : Merci à tous les gars de ce forum qui répondent très rapidement,au tuto de Squale92, celui de TechnoPlaza , les auteurs de TIGCC, de TI-Emu, et VTI )