def __init__(self, evManager): self.evManager = evManager self.evManager.RegisterListener(self) self.camera = Camera(evManager) self.windowSize = 1280, 720 if pygame.display.Info().current_h > 768: os.environ['SDL_VIDEO_CENTERED'] = '1' else: offset_left = int( (pygame.display.Info().current_w - self.windowSize[0]) / 2) window_pos = str(offset_left) + ',' + '6' os.environ['SDL_VIDEO_WINDOW_POS'] = window_pos self.window = rabbyt.init_display(self.windowSize) self.sprites = []
from math import hypot import pygame import rabbyt rabbyt.init_display((640, 480)) rabbyt.set_viewport((640, 480), projection=(0, 0, 640, 480)) control_points = [ rabbyt.Sprite(xy=xy) for xy in [(100, 100), (200, 50), (300, 150), (400, 100)] ] grabbed_point = None path_followers = [] def generate_followers(): global path_followers p = [c.xy for c in control_points] path_followers = [ rabbyt.Sprite(xy=rabbyt.bezier3( p[0], p[1], p[2], p[3], i * 200, i * 200 + 2000, extend="repeat")) for i in range(10) ] generate_followers() print "Click and drag the control points."
from math import hypot import pygame import rabbyt rabbyt.init_display((640,480)) rabbyt.set_viewport((640,480), projection=(0,0,640,480)) control_points = [rabbyt.Sprite(xy=xy) for xy in [(100,100),(200,50),(300,150),(400,100)]] grabbed_point = None path_followers = [] def generate_followers(): global path_followers p = [c.xy for c in control_points] path_followers = [rabbyt.Sprite(xy=rabbyt.bezier3(p[0], p[1], p[2], p[3], i*200, i*200 + 2000, extend="repeat")) for i in range(10)] generate_followers() print "Click and drag the control points." clock = pygame.time.Clock() running=True while running: clock.tick(40) for event in pygame.event.get(): if event.type == pygame.QUIT: running=False
del(grid) return nextgrid def draw_grid(grid): renderables = [] for rowcount, row in enumerate(grid): for count, item in enumerate(row): if item == 1: sprite = rabbyt.Sprite(SPRITE_LOCATION) x = (count * SPRITE_WIDTH) - (SCREEN_WIDTH / 2) + SPRITE_WIDTH y = (rowcount * SPRITE_HEIGHT) - (SCREEN_HEIGHT / 2) + SPRITE_HEIGHT sprite.xy = (x, y) renderables.append(sprite) renderables.reverse() for renderable in renderables: renderable.render() del(renderables) if __name__ == '__main__': rabbyt.init_display((SCREEN_WIDTH, SCREEN_HEIGHT)) while not pygame.event.get(pygame.QUIT) or max(grid) == 0: rabbyt.clear((0., 0., 0., 0.)) draw_grid(grid) pygame.display.flip() time.sleep(WAIT_BETWEEN_STEPS) grid = step_grid(grid)