Changed 'advance' function to: def advance(self, time): self.__time += time * self.speed self.tick()
Now works W dniu środa, 29 sierpnia 2018 22:39:30 UTC+2 użytkownik BZab napisał: > > I've tried to use it, but function scheduling seems to not be working with > that custom clock. > Used following code, but while pyglet.clock scheduled events occur, > TestClock scheduled ones do not... > What's wrong with it? > > import pyglet > > class TestClock(pyglet.clock.Clock): > __time = 0 > speed = 1.0 > > def __init__(self): > pyglet.clock.Clock.__init__(self, time_function=self.get_time) > pyglet.clock.schedule(self.advance) > > def advance(self, time): > self.__time += time * self.speed > > def get_time(self): > return self.__time > > def set_speed(self, dt=0, speed=1.0): > print "Set speed", speed > self.speed = speed > > class A(object): > def __init__(self): > self.clk = TestClock() > self.clk.schedule_interval(self.te, 0.3) > def te(dt=0.0): > print "TEST", dt > def up(self, dt): > print 'up' > > window = pyglet.window.Window() > label = pyglet.text.Label('Hello, world', > font_name='Times New Roman', > font_size=36, > x=window.width//2, y=window.height//2, > anchor_x='center', anchor_y='center') > @window.event > def on_draw(): > window.clear() > label.draw() > > def x(): > print "X" > > testobj = A() > > pyglet.clock.schedule_interval(testobj.up, 1/6.0) > testobj.clk.schedule_once(x, 2) > > pyglet.clock.schedule_once(testobj.clk.set_speed, 5, speed=10.0) > > pyglet.app.run() > > W dniu środa, 6 marca 2013 23:52:10 UTC+1 użytkownik Petr Viktorin napisał: >> >> You can use something like this: >> >> class AdjustableClock(pyglet.clock.Clock): >> __time = 0 >> speed = 1 >> >> def __init__(self): >> pyglet.clock.Clock.__init__(self, time_function=self.get_time) >> pyglet.clock.schedule(self.advance) >> >> def advance(self, time): >> self.__time += time * self.speed >> >> def get_time(self): >> return self.__time >> >> ..and use an instance of that clock everywhere (except e.g. animations >> in the pause menu). >> To pause, set the clock's speed to zero. >> >> >> On Wed, Mar 6, 2013 at 11:33 PM, Winston Wolff >> <winsto...@cal.berkeley.edu> wrote: >> > I don't know off the top of my head but I know that cocos2d ( >> http://cocos2d.org ) implements pause, and it uses Pyglet. You could >> investigate that. >> > >> > -ww >> > >> > On Mar 6, 2013, at 2:21 PM, Joseph Clark <joecl...@gmail.com> wrote: >> > >> >> Quick question: is there an easy way to pause and unpause the >> game/clock/scheduler with pyglet? If now, how would you program this? >> >> >> >> -- >> >> You received this message because you are subscribed to the Google >> Groups "pyglet-users" group. >> >> To unsubscribe from this group and stop receiving emails from it, send >> an email to pyglet-users...@googlegroups.com. >> >> To post to this group, send email to pyglet...@googlegroups.com. >> >> Visit this group at http://groups.google.com/group/pyglet-users?hl=en. >> >> >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "pyglet-users" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to pyglet-users...@googlegroups.com. >> > To post to this group, send email to pyglet...@googlegroups.com. >> > Visit this group at http://groups.google.com/group/pyglet-users?hl=en. >> > For more options, visit https://groups.google.com/groups/opt_out. >> > >> > >> > -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.