Bsoir !
Je code depuis peu un RPG et comme je veux que du fait maison je suis en train de faire l'éditeur de niveau (en python pour que ça soit plus simple)
J'en suis à la partie où j'affiche sur un Canvas le bon morceau du tileset que je crop.
J'ai donc ma fonction :
def drawTile(x,y,index,canvas):
global xt,yt,tk_im
#On cherche les coordonnées de la tile sur le tileset
xt = index%tileset_width*tile_size
yt = index//tileset_width*tile_size
#On crop le tileset
tk_im = ImageTk.PhotoImage(tileset.crop((xt,yt,xt+tile_size,yt+tile_size)))
#Et je crois que le problème est dans l'affichage du tile
canvas.create_image(tile_size//2+2+x, tile_size//2+2+y,image=tk_im)
Et l'appel à la fonction :
def refreshMap():
for i in range(map_width):
for j in range(map_height):
drawTile(i*tile_size, j*tile_size, map_data[j][i],can)
Je pense que les variables parlent assez bien d'elles-mêmes donc no need de re-taper tout le code.
J'ai fait pleins de tests avec print() et tout paraît normal donc ça se passe bien dans l'affichage (canvas.create_image).
POURTANT cela marche quand je le fais avec un autre canevas.
J'ai un canevas pour afficher la tile active, il affiche bien ce qu'il faut, mais le canevas pour afficher la map ne marche pas du tout.
J'ai besoin d'aide
!