застрял, прошу совета:
функция moveRight() работает корректно (выводит print):
def moveRight(): L = [0, 2, 0, 4, 0] merge = False num = 2 moveX = 0 moveY = 0 for i in L: if i > num: break elif i == 0: moveX += 124 continue elif i == num: moveX += 124 merge = True break if moveX > 0: print(moveX, moveY, num, merge) input() if __name__ == '__main__': moveRight()
Но когда ее запихнуть в клас и привязать к событию щелчка мыши, print после щелчка не выводится. Вообще ноль реакции:
from tkinter import * class MMain(): def __init__(self, parent = None): canvas = Canvas(width=508, height=508, bg = '#aa9d93') canvas.pack(fill = BOTH, expand = YES) canvas.bind('<ButtonPress-1>', self.moveRight) self.canvas = canvas self.photo = PhotoImage(file = 'numbers\\small_2.gif') self.canvas.create_image(10, 10, image = self.photo, anchor = NW, tag = 'asd') def moveRight(self, event): L = [0, 2, 0, 4, 0] merge = False num = 2 moveX = 0 moveY = 0 for i in L: if i > num: break elif i == 0: moveX += 124 continue elif i == num: moveX += 124 merge = True break if moveX > 0: print(moveX, moveY, num, merge) if __name__ == '__main__': MMain() mainloop()
Почему?
