ça permettrai de pouvoir distribuer la structure dans une procedure
et d'utiliser un parametre pour formater les champs ayant des tableau Static (ou autre d'ailleurs )
genre :
Code : Tout sélectionner
Procedure LoadSprite2(id.l, file_name.s, taille_x, taille_y, nbr_frame_par_line,nbr_ligne)
; by Dobro
structure Spr
id.l ; id
x.l ; pos x
y.l; posy
taille_x.l ; taille x cellule
taille_y.l ; taille y cellule
nbr_frame_par_line.l ; nombre d'image par ligne
nbr_ligne.l ; nombre de ligne dans la planche
compteur.l [nbr_frame_par_line] ; compteur du pointeur d'image de l'animation <<<< ICI Utilisation d'un parametre pour formater le tableau
Pas.l[nbr_frame_par_line] ; le pas de progression de l'image en cours pour l'animation <<<< ET ICI
Frame.l[nbr_frame_par_line] ; l'image pointé de l'animation <<<<et ICI
num_ligne.l[nbr_frame_par_line] ; ligne actuel de l'animation <<<< et ICI
compteur_aff.l[nbr_frame_par_line] <<<< et ICI
vitesse.l[nbr_frame_par_line] <<<< et ICI
Endstructure
global dim Spr.Spr(id.l)
Spr(id.l)\id.l=id.l
Spr(id.l)\taille_x.l=taille_x
Spr(id.l)\taille_y.l=taille_y
Spr(id.l)\nbr_frame_par_line.l=nbr_frame_par_line
Spr(id.l)\nbr_ligne.l=nbr_ligne
for i=0 to nbr_frame_par_line
Spr(id.l)\compteur.l[i] =0
Spr(id.l)\Pas.l [i] =1
Spr(id.l)\Frame.l[i]=1
spr(id.l)\pas [i]=1
Next i
LoadSprite(id.l,file_name.s,#PB_Sprite_AlphaBlending)
Endprocedure
il faut dire que je vois les procedures comme des mini-prg clef en mains , qu'on peut utiliser dans des contextes
différents .. du coup avoir la structure qui va avec, me semble primordiale , pour sa distribution ....
Purebasic , je trouve manque quelques peu de souplesse dans ce style ..