[Tutor] simon game issues
Matthew Ngaha
chigga101 at gmail.com
Fri Sep 14 19:17:31 CEST 2012
> It would appear you're running some form of event loop, such as
> wxpython, tkinter, pygame, or whatever. If so, you have to do your
> delays using the mechanism that system defines, not using sleep(). As
> you've discovered, sleep() stops the whole thread, and that's not what
> you want. What you want is to set an event to fire at some measured
> time in the future, so the actual waiting is done inside the event loop.
>
hey i looked at the livewires documentation and pulled up the timer
information. im struggling to figure out how to use its explanation. i
need to use it at 2 different parts of the program. 1st when the game
starts i need to create my sprite objects so they appear before my
animation objects:
red = Sprite(colour = Colours.red, x = 250, y = 255)
games.screen.add(red)
#timer event delay goes here so the animations don't start as soon as
the game is opened, before the coloured sprites as they've been doing.
self.create_animations()
---------------------------------------------
i also need a timer event when i display my sequence of animation
objects so they dont show on screen simultaneously. so:
#1st animation
red_animation = Animation(images = c_red, x = 250, y = 255,
repeat_interval = 4, n_repeats = 1)
games.screen.add(red_ani)
red_sound.play()
#Timer event to go here, so next animation in sequence goes after the
timed pause.
#2nd animation
blue_animation = Animation(images = c_blue, x = 373, y = 255,
repeat_interval = 4, n_repeats = 1)
games.screen.add(blue_ani)
blue_sound.play()
do you think you can offer any help how to implement the timer code or
function? i will provide the link to the page, but here's the relevant
code:
Timer
The Timer class is a class you can add to something which is also a
subclass of Object, to make an object that performs actions at regular
intervals. A class which is intended to be used with another class is
called a mix-in. For instance, if you wanted to make a new class of
your own which was a Circle and also a Timer, you would define the
class by saying class MyClass (games.Circle, games.Timer):
• init_timer (interval)
interval is how often the tick method is called, measured in timer
ticks. How long a tick is depends on the fps argument you give to the
Screen‘s mainloop method. Setting fps to 50 means a tick is 1/50 of a
second.
You must call this method emph{after} you have called the init_ method
for the Object subclass you are using.
• stop ()
Stop the timer running. It continues to exist, but doesn’t count any more.
• start ()
Starts the timer again. A full interval will elapse before it ticks.
• get_interval ()
Gets the current interval.
• set_interval (interval)
Sets the current interval.
• tick ()
This method must be supplied by you, by subclassing the Timer class.
http://www.geon.wz.cz/livewires/w-livewires.html
More information about the Tutor
mailing list