Tkinterde aynalama yapma

Başlatan fghty, 25 Ağustos 2012 - 13:09:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

fghty

http://fatihmertdogancan.wordpress.com/2012/01/02/pygame-aynalam/ buradaki yazıları okuyarak işlemlerin aynısını Tkinterde de yapmaya çalışıyorum ama aynalama bölümünde takıldım. Topu hareket ettirmeyi sağladım ama aynalama işini bi türlü yapamadım. Bu konuda yardımcı olur musunuz?

from Tkinter import *
import math,time
canvas = Canvas(width=300, height=300, bg='white')
canvas.pack(expand=YES, fill=BOTH)
L=[23.0,40.0]
speed = 0.05
#angle = math.pi/1.2
size=20
widthh=300
height=300

def aynalama():
    global size, widthh, angle, math, height, x, y
    if x > widthh-size:
        x=2*widthh-x
        angle = - angle

    elif x < size:
        x = 2*size - x
        angle = - angle

    if y > height - size:
        y = 2*(height - size) - y
        angle = math.pi - angle

    elif y < size:
        y = 2*size - y
        angle = math.pi - angle

#time.sleep(0.5)
while L[0]<1000:
    angle = math.pi/1.1
    x=float(L[0])
    y=float(L[1])
    x += math.sin(angle) * speed
    y -= math.cos(angle) * speed
    aynalama()
    canvas.update()
    canvas.delete(ALL)
    canvas.create_oval(x-size, y-size, x, y, width=0, fill='blue')
    del L[:]
    L.extend([x,y])

mainloop()