Here is how I've changed it, based on your message and the errors I received while putting it together:
# load and display several images using Tkinter # Tkinter reads only GIF and PGM/PPM images # (for additional formats use Image, ImageTk from PIL) from Tkinter import * import time root = Tk() root.title("Click me!") def next_image(event): x0 = 0 y0 = 0 x1 = 1 y1 = 0 photoId = canvas1.create_image(x0, y0, image=photo) step = 10.0 dur = .3 for i in range(1, int(step)+3): xi = x0 + i*(x1-x0)/step yi = y0 + i*(y1-y0)/step canvas1.coords(photoId, xi, yi) time.sleep(3) canvas1.update_idletasks() image = "DustY1.GIF" photo = PhotoImage(file=image) # make canvas the size of image1/photo1 width1 = photo.width() height1 = photo.height() canvas1 = Canvas(width=width1, height=height1) canvas1.pack() # display photo1, x, y is center (anchor=CENTER is default) x = (width1)/2.0 y = (height1)/2.0 canvas1.create_image(x, y, image=photo) canvas1.bind('<Button-1>', next_image) # bind left mouse click root.mainloop() its not really working at all now. I'm sure this is the right direction to go, but I'm still not getting anywhere. I tried using the update, but it didn't seem to do anything. At this point, I simply want movement from left to right. help... ? > On 04/05/07, Teresa Stanton <[EMAIL PROTECTED]> wrote: >> the image and moves it. I should mention that I've tried 'move() and >> coord()' to get the object to move, but I am not getting the effect I >> want. >> When I use move in successive steps it just appears at the last move >> coordinates. > > My Tkinter is quite rusty, but I think this is basically the approach > you need to take. However, you will need to put a delay in between > each call to coords, otherwise python will "optimise" by moving the > image to its final destination before drawing. > > Something like: > > # given initial coords (x0,y0), final coords (x1, y1) > img = canvas1.create_image(x0, y0, image=photo) > > # step: number of steps to move in > step = 10.0 > # duration: number of seconds to move the image > dur = 2 > > for i in range(1, int(step)+1): > xi = x0 + i*(x1-x0)/step > yi = y0 + i*(y1-y0)/step > canvas1.coords(img, xi, yi) > time.sleep(dur/step) > # you may need to add a call to canvas1.update_idletasks() here > > # untested > > HTH! > > -- > John. > > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor