Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2021, 10:29   #1
mikkijon
 
Регистрация: 03.10.2019
Сообщений: 8
По умолчанию Игра Пинг-понг

Доброго времени суток друзья!!!
Помогите найти мою ошибку, а то я уже который день ломаю на дней голову.
Суть проблемы в следующем при закрытии программы PyCharm версий 2020.1,Выдает следующую ошибку:

Цитата:
C:\ForChildrens\Scripts\python.exe C:/Users/mikki/PycharmProjects/ForChildrens/PaddleBall.py
Traceback (most recent call last):
File "C:\Users\mikki\PycharmProjects\For Childrens\PaddleBall.py", line 28, in <module>
ball.draw()
File "C:\Users\mikki\PycharmProjects\For Childrens\PaddleBall.py", line 10, in draw
self.canvas.move(self.id, 0, -1)
File "C:\Users\mikki\AppData\Local\Progr ams\Python\Python39\lib\tkinter\__i nit__.py", line 2917, in move
self.tk.call((self._w, 'move') + args)
_tkinter.TclError: invalid command name ".!canvas"

Process finished with exit code 1
Также выкладываю листинг данной программы.from tkinter import *
Код:
import random
import time
class Ball:
    def __init__(self, canvas, color):
        self.canvas = canvas
        self.id = canvas.create_oval(10, 10, 25, 25, fill=color)
        self.canvas.move(self.id, 245, 100)
    def draw(self):
        self.canvas.move(self.id, 0, -1)



tk = Tk()
tk.title('Игра')
tk.resizable(0, 0)
tk.wm_attributes('-topmost', 1)
canvas = Canvas(tk, width=500, height=400, bd=0, highlightthickness=0)
canvas.pack()
tk.update()
ball = Ball(canvas, 'red')
# def handler():
#     global run
#     run = False
# tk.protocol("WM_DELETE_ WINDOW", handler)
# run = True
while 1:
    ball.draw()
    tk.update_idletasks()
    tk.update()
    time.sleep(0.01)
tk.mainloop()
tk.destroy()
Заранее благодарю Вас друзья!!!
с Уважением Ким Евгений
mikkijon вне форума Ответить с цитированием
Старый 23.09.2021, 07:33   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Так на stackoverflow, где данный код с мячом выложен, всё достаточно подробно разобрано, как надо было реализовывать цикл (https://stackoverflow.com/questions/...nding-mainloop).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра Пинг-понг Александр_1992 Общие вопросы Delphi 4 16.03.2014 12:45
Пинг-понг mixon-21 JavaScript, Ajax 1 19.01.2014 12:57
Пинг понг (паскаль) Katmai Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 29.10.2010 22:59
Пинг-понг Ckomoroh Gamedev - cоздание игр: Unity, OpenGL, DirectX 9 27.08.2010 18:33