mon image s'affiche pas sur gint
Posté le 30/10/2020 11:22
bonjour je continue mon jeu
LINK !
mais je viens de compiler et de transférer sur ma graph35+E II
le menu s'affiche le sélectionne une catégorie mais je joueur s'affiche pas
#include <gint/timer.h>
#include <gint/clock.h>
extern bopti_image_t img_player;
typedef struct{
int frame_1;
int frame_2;
int frame_3;
int frame_4;
int frame_5;
} Animation;
typedef struct{
/* Position in map */
int x, y;
/* Direction currently facing */
int dir;// 0: left, 1: right
//int animdata[10][5][2];
Animation anim_walk_left;
Animation anim_walk_right;
/* Animation and frame */
Animation anim_playing;
int twait;
int frame;
int anim;
int status; //1: normal, 2: roket, 3: code manipulation
} Player;
int Animation_get_data(Animation ani,int frame){
switch(frame){
case 0: return ani.frame_1; break;
case 1: return ani.frame_2; break;
case 2: return ani.frame_3; break;
case 3: return ani.frame_4; break;
case 4: return ani.frame_5; break;
}
return 0;
}
Player Player_init(Player plr){
plr.anim_walk_right.frame_1 = 0;// = {0,1,2,3,4};
plr.anim_walk_right.frame_2 = 1;
plr.anim_walk_right.frame_3 = 2;
plr.anim_walk_right.frame_4 = 3;
plr.anim_walk_right.frame_5 = 4;
//plr.anim_walk_left. //= {5,6,7,8,9};
plr.anim_playing = plr.anim_walk_right;
plr.status = 1;
return plr;
}
Player Player_check_anim(Player plr){
if(plr.status==1){
if(plr.dir==0){plr.anim_playing = plr.anim_walk_left;}
if(plr.dir==1){plr.anim_playing = plr.anim_walk_right;}
}
if(plr.twait == 15){
plr.twait = 0;
plr.frame = plr.frame + 1;
if(plr.frame > 4){
plr.frame = 0;
}
}
plr.twait = plr.twait + 1;
plr.anim = Animation_get_data(plr.anim_playing,plr.frame);
return plr;
}
void Player_print(Player plr){
dsubimage(plr.x, plr.y,&img_player,0,plr.anim*12,11, 11, DIMAGE_NONE);
}
//int opt = GETKEY_DEFAULT & GETKEY_REP_ARROWS;
int select = 1;
int main(void){
extern bopti_image_t img_logo;
extern bopti_image_t img_button;
int playing = 1;
int key = 0;
Player player;
player = Player_init(player);
int opt = GETKEY_DEFAULT & ~GETKEY_REP_ARROWS & GETKEY_MENU;
while(playing==1){
while(key != KEY_SHIFT){
dclear(C_WHITE);
dimage(25, 3, &img_logo);
//dsubimage(40, 40,&img_player,0* 11, 0, 11, 11, DIMAGE_NONE);
if(select==1){dsubimage(35, 33,&img_button,0, 10, 42, 10, DIMAGE_NONE);}
else{dsubimage(35, 33,&img_button,0, 0, 42, 10, DIMAGE_NONE);}
if(select==2){dsubimage(35, 45,&img_button,0, 30, 42, 10, DIMAGE_NONE);}
else{dsubimage(35, 45,&img_button,0, 20, 42, 10, DIMAGE_NONE);}
dupdate();
key = getkey_opt(opt, NULL).key;
if(key == KEY_UP){select=1;}
if(key == KEY_DOWN){select=2;}
}
while(1==1){
dclear(C_WHITE);
key = getkey_opt(opt, NULL).key;
player = Player_check_anim(player);
Player_print(player);
dupdate();
}
}
return 1;
}
Fichier joint
Citer : Posté le 30/10/2020 11:30 | #
Ton image est elle bien en noir et blanc et non en nuances de gris ?
Citer : Posté le 30/10/2020 11:30 | #
Une bonne pratique quand tu as un bug comme ça est de fournir des « exemples minimaux ». Ça consiste à supprimer le maximum de code dans ton programme jusqu'à ce qu'il ne reste que le code qui pose le problème. L'immense vertu des exemples minimaux c'est qu'une fois sur deux tu comprends le bug pendant que tu minimises, et du coup y'a pas besoin de poser de question.
Je t'invite donc à fournir un exemple minimal de ce code. Tu n'as probablement pas besoin des animations, du joueur, et de toutes ces informations. Si c'est un bug de gint alors un simple dsubimage() avec toutes les valeurs fixes le fera apparaître. Si c'est un bug dans ton code alors en supprimant toutes ces choses tu feras disparaître le problème et tu pourrais voir quelle partie de ton code est responsable.
Aussi, si tu as des problèmes tous les jours utilise le topic de ton projet au lieu d'en créer tout le temps... c'est bien plus facile de suivre ce qui se passe que de garder la trace de tous les sujets que tu as ouverts.
Citer : Posté le 30/10/2020 13:21 | #
ok merci, pour ajouter j'ai redémarré mon add-in et j'ai un system error
TAGET=4F22E90F
PC=8008E566
mais je vais mettre ça sur la page du projet