Hey Dany0,
It's easier for people to help you out if you can break your problem
down into small, specific questions, rather than just asking 'why
doesn't my code work?'. Then people can help you without having to
spend lots of time figuring out what you mean. For example, you could
ask 'Why do I see no bullets on screen?'
My first suggestion is you spend some time reading up on Python. As
noted, you are using some things like classes in ways they are not
usually used. A brilliant place to start on this is the book 'dive
into python', which is available for free online.
Regardless of all the above, the pyglet users list has been very good
to me, and I want to give something back, so here's a 'fixed' version
of your code, that does what I *think* you want it to do:
from pyglet import app, clock, image, window
background_image = image.load('background.png')
bullet_image = image.load('bullet.png')
gun_image = image.load('gun.gif')
win = window.Window(fullscreen=True)
win.set_mouse_visible(False)
class Gun:
def __init__(self):
# the gun remembers its own x,y position
self.x = 0
self.y = 0
gun = Gun()
bullets = []
class Bullet:
def __init__(self, x, y):
# each bullet remembers its own x,y position
self.x = x
self.y = y
@win.event
def on_mouse_motion(x, y, dx, dy):
# put the gun 22 pix below where the mouse is
gun.x = x
gun.y = y-22
@win.event
def on_mouse_release(x, y, button, modifiers):
# create a new bullet, add it to our list of bullets
bullets.append(Bullet(gun.x, gun.y))
@win.event
def on_draw():
# draw everything: background, gun, bullets
background_image.blit(1,1)
gun_image.blit(gun.x, gun.y)
for bullet in bullets:
bullet_image.blit(bullet.x, bullet.y)
@win.event
def update(dt):
# move every bullet upwards
for bullet in bullets:
bullet.y += 100 * dt
# ask pyglet to call 'update' every frame
clock.schedule(update)
# it is recommended to call app.run() instead of writing your own
event loop
app.run()
On Sep 23, 5: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()
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---