Ah, good catch. Thanks.

On Oct 23, 10:38 pm, Paul <[EMAIL PROTECTED]> wrote:
> Looks good.
>
> This works well for the player, but I would take out the code to delay the
> enemies' shots, since that is handled by the function enemy_shoot(dt) which
> is called by clock.schedule_interval(enemy_shoot, 0.5) .
>
> In case you aren't clear on the distinction, schedule_interval is a
> recurring schedule (it will call the function every 0.5 seconds until the
> program quits or an unschedule() method is used) while schedule_once will
> only call the function once after the delay.
>
> On Thu, Oct 23, 2008 at 7:29 PM, Drozzy <[EMAIL PROTECTED]> wrote:
>
> > Thanks I did it as you recommended.
>
> > For anyone interested code is here:
> >http://dpaste.com/hold/86501/
>
> > On Oct 23, 10:03 pm, Paul <[EMAIL PROTECTED]> wrote:
> > > I still haven't looked at the code but let me try to express the general
> > > idea in another way.
>
> > > Make a boolean variable for the player called is_shootable.
>
> > > Normally is_shootable is True.
>
> > > When the player presses the fire button, the program checks whether
> > > is_shootable is True. If so, it shoots. If not, it does nothing (ie it
> > > prevents the player from shooting).
>
> > > Lets say the player presses the fire button and is_shootable is True. Now
> > > that the program has established that the player is able to shoot, three
> > > things happen:
>
> > > 1. The program sets is_shootable to False (to prevent the player from
> > firing
> > > again right away).
>
> > > 2. A bullet is created with the correct velocity, direction etc.
>
> > > 3. The clock.schedule_once() method is used to schedule a function for
> > some
> > > time in the future, the time being equal to the period where the player
> > will
> > > not be able to shoot again. The only purpose of the function will be to
> > set
> > > is_shootable back to True.
>
> > > Once the time period expires, the function specified in
> > > clock.schedule_once() is executed and is_shootable is set back to True,
> > > allowing the player to shoot again.
>
> > > I hope this helps.
>
> > > Paul
>
> > > On Thu, Oct 23, 2008 at 6:47 PM, Drozzy <[EMAIL PROTECTED]> wrote:
>
> > > > Actually the code is here:
> > > >http://dpaste.com/86496/
>
> > > > The enemy i can make shoot like that, but the player actually creates
> > > > a new bullet on the fly...
> > > > I'll have to ponder about that.. thanks for advice though!
>
> > > > On Oct 22, 10:00 pm, Paul <[EMAIL PROTECTED]> wrote:
> > > > > I don't know what the current code looks like but you could do
> > something
> > > > > like this:
>
> > > > > class Bullet:
> > > > >    __init__(self):
> > > > >       self.shootable = True
>
> > > > >    def set_shootable(self, dt):
> > > > >       self.shootable = True
>
> > > > >    def shoot(self):
> > > > >       if not self.shootable: return
> > > > >       # shoot
> > > > >       self.shootable = False
> > > > >       pyglet.clock.schedule_once(bullet.set_shootable, 0.5)
>
> > > > > On Wed, Oct 22, 2008 at 6:17 PM, Drozzy <[EMAIL PROTECTED]> wrote:
>
> > > > > > I am reprogramming the sample shooter.py that was presented by
> > pyglet
> > > > > > developers.
> > > > > >http://video.google.co.uk/videoplay?docid=-8788197863800411145
>
> > > > > > On of the things I am stuck on is slowing down the firing of the
> > > > > > bullets from the player ship.
>
> > > > > > What I need to do is:
> > > > > > -record the last time the bullet was fired
> > > > > > -next time fire (mouse is clicked) is requested, see if enough
> > > > > > interval is passed
> > > > > > -if not don't shoot else shoot
>
> > > > > > Is it ok to use the datetime object for this or does pyglet have
> > some
> > > > > > kind of support with the scheduler for this?
>
> > > > > > Thank you!
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to