On Tue, Sep 23, 2008 at 12:20 PM, Dany0 <[EMAIL PROTECTED]> wrote: > > this is da images: > http://www.wikiupload.com/download_page.php?id=61430 > this is da code: > > from pyglet import window > from pyglet import image > > win = window.Window() > > win.set_mouse_visible(False) > > @win.event > def set_fullscreen(self, fullscreen=True, screen=None): > pass > > class background: > img = image.load('background.bmp') > > class gun: > gun_img = image.load('gun.bmp') > x = 0 > y = 0 > > class bullet: > img = image.load('bullet.bmp') > x = gun.x+10 > y = gun.y > > @win.event > def on_mouse_motion(x, y, dx, dy): > gun.x = x > gun.y = y-22 > > @win.event > def on_mouse_release(x, y, button, modifiers): > bullet.img.blit(bullet.x, bullet.y) > > while not win.has_exit: > win.dispatch_events() > win.clear() > background.img.blit(1,1) > gun.gun_img.blit(gun.x, gun.y) > win.flip() > > > >
There are so many problems with your code, but I'll focus only on the mechanical issues: 1. You blit a bullet on mouse release - why? This means you will never see the bullet - the event occurs in dispatch_events() which is before clearing, redrawing and flipping the display. 2. Though I'm not sure, I have the suspicion you're assuming there is an invariant relation between the position of the bullet and the position of the gun. There is no such thing. Lucky for me, Python isn't that mind-warping. You likely want to set the bullet's position in on_mouse_release. Finally, you should read more about classes: http://docs.python.org/tut/node11.html. Currently you're using classes simply for global state - you don't need classes to do that. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pyglet-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pyglet-users?hl=en -~----------~----~----~----~------~----~------~--~---
