Kezdőoldal » Számítástechnika » Programozás » Hogy tudom Pythonban ezt...

Hogy tudom Pythonban ezt megcsinálni? Ez van meg eddig és a feladata az lenne, hogy mindig amikor a labda eléria szélét akkor váltson színt de sehogy sem sikerül.

Figyelt kérdés

from tkinter import *


def move():

global x1, y1, dx, dy, flag, n


x1, y1 = x1 + dx, y1 + dy


if x1 > 360:

x1, dx, dy = 360, 0, 15

n = 0


if y1 > 360:

y1, dx, dy = 360, -15, 0

n = 1


if x1 < 10:

x1, dx, dy = 10, 0, -15

n = 2


if y1 < 10:

y1, dx, dy = 10, 15, 0

n = 3


can1.coords(oval1, x1, y1, x1 + 30, y1 + 30)


if flag > 0:

abl1.after(50, move)


def stop():

global flag

flag = 0


def start():

global flag

if flag == 0:

flag = 1

move()


###


x1, y1 = 10, 10

dx, dy = 15, 0

color = [["white"], ["red"], ["green"], ["blue"]]

n = 0


flag = 0


###


abl1 = Tk()

abl1.title("Animációs gyakorlat Tkinter-rel")


can1 = Canvas(abl1, bg = "dark grey", height = 400, width = 400)

can1.pack(side=LEFT)


oval1 = can1.create_oval(x1, y1, x1 + 30, y1 + 30, fill = color[n])


but1 = Button(abl1, text = "Quit", command = abl1.destroy).pack(side=BOTTOM)

but2 = Button(abl1, text = "Start", command = start).pack()

but3 = Button(abl1, text = "Stop", command = stop).pack()


abl1.mainloop()



2014. jún. 10. 20:56
 1/2 anonim ***** válasza:

Az alábbi sor:

can1.coords(oval1, x1, y1, x1 + 30, y1 + 30)


után írd még ezt:

can1.itemconfigure(oval1, fill = color[n])

2014. jún. 10. 21:48
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:
Koszonom!
2014. jún. 11. 07:12

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!