Portál AbcLinuxu, 11. května 2025 10:35
Řešení dotazu:
Když se ti pozice ryby vygeneruje v kanále, tak ji můžeš posunout. Nebo můžeš nejdříve vybrat jestli bude nalevo nebo napravo a podle toho pak vybrat pozici z rozsashu mimo kanál. Nebo prostě tu pozici generovat tak dlouho dokud nebude mimo.
Vysychání jako změnu pozice i šířky můžeš udělat funkcí coords. Pokud chceš, aby vysychání běželo "samo", tak můžeš použít funkci after.
Žádná blokující smyčka tam samozřejmě nebude.
def posun(event): dx = -10 if event.keysym == 'Left' else 10 canvas.move(ryba, dx, 0) coords = canvas.coords(ryba) overlapping = canvas.find_overlapping(*coords) if kanal in overlapping: print('Kanal') def vysychani(): x0, y0, x1, y1 = canvas.coords(kanal) if x1 - x0 >= 10: canvas.coords(kanal, x0 + 5, y0, x1 - 5, y1) master.after(500, vysychani) canvas.bind('<Left>', posun) canvas.bind('<Right>', posun) canvas.focus_set() master.after(500, vysychani) master.mainloop()
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.