def __init__(self, size=None, max_ups=None, max_fps=None): time_source = time.time self.clock = spyral.GameClock( time_source=time_source, max_fps=max_fps or spyral.director._max_fps, max_ups=max_ups or spyral.director._max_ups, ) self.clock.use_wait = True self._handlers = defaultdict(lambda: []) self._namespaces = set() self._event_source = spyral.event.LiveEventHandler() self._handling_events = False self._events = [] self._pending = [] self._greenlets = {} # Maybe need to weakref dict self._style_symbols = {} self._style_classes = [] self._style_properties = defaultdict(lambda: {}) self._style_functions = {} self._style_functions["_get_spyral_path"] = spyral._get_spyral_path self._size = None self._scale = spyral.Vec2D(1.0, 1.0) # None self._surface = pygame.display.get_surface() if size is not None: self._set_size(size) display_size = self._surface.get_size() self._background = spyral.image._new_spyral_surface(display_size) self._background.fill((255, 255, 255)) self._background_version = 0 self._surface.blit(self._background, (0, 0)) self._blits = [] self._dirty_rects = [] self._clear_this_frame = [] self._clear_next_frame = [] self._soft_clear = [] self._static_blits = {} self._invalidating_views = {} self._collision_boxes = {} self._rect = self._surface.get_rect() self._layers = [] self._child_views = [] self._layer_tree = _LayerTree(self) self._sprites = set() spyral.event.register("director.scene.enter", self.redraw, scene=self) spyral.event.register("director.update", self._handle_events, scene=self) if _GREENLETS_AVAILABLE: spyral.event.register("director.update", self._run_actors, ("delta",), scene=self) spyral.event.register("spyral.internal.view.changed", self._invalidate_views, scene=self) # View interface self._scene = _wref(self) self._views = []
def __init__(self, size=None, max_ups=None, max_fps=None): time_source = time.time self.clock = spyral.GameClock(time_source=time_source, max_fps=max_fps or spyral.director._max_fps, max_ups=max_ups or spyral.director._max_ups) self.clock.use_wait = True self._handlers = defaultdict(lambda: []) self._namespaces = set() self._event_source = spyral.event.LiveEventHandler() self._handling_events = False self._events = [] self._pending = [] self._greenlets = {} # Maybe need to weakref dict self._style_symbols = {} self._style_classes = [] self._style_properties = defaultdict(lambda: {}) self._style_functions = {} self._style_functions['_get_spyral_path'] = spyral._get_spyral_path self._size = None self._scale = spyral.Vec2D(1.0, 1.0) #None self._surface = pygame.display.get_surface() if size is not None: self._set_size(size) display_size = self._surface.get_size() self._background = spyral.image._new_spyral_surface(display_size) self._background.fill((255, 255, 255)) self._background_version = 0 self._surface.blit(self._background, (0, 0)) self._blits = [] self._dirty_rects = [] self._clear_this_frame = [] self._clear_next_frame = [] self._soft_clear = [] self._static_blits = {} self._invalidating_views = {} self._collision_boxes = {} self._rect = self._surface.get_rect() self._layers = [] self._child_views = [] self._layer_tree = _LayerTree(self) self._sprites = set() spyral.event.register('director.scene.enter', self.redraw, scene=self) spyral.event.register('director.update', self._handle_events, scene=self) if _GREENLETS_AVAILABLE: spyral.event.register('director.update', self._run_actors, ('delta', ), scene=self) spyral.event.register('spyral.internal.view.changed', self._invalidate_views, scene=self) # View interface self._scene = _wref(self) self._views = []