def _create_display(self, width, height): size = width, height flags = pygame.OPENGL | pygame.DOUBLEBUF self.screen = pygame.display.set_mode(size, flags) rabbyt.set_viewport(size) rabbyt.set_default_attribs()
def on_draw(): rabbyt.clear(rgba=CLEAR_COLOR_DEFAULT) rabbyt.set_viewport( get_viewport(window.width, window.height), WORLD_BOUNDS ) draw_glyphs() draw_sprites()
def on_draw(self): rabbyt.clear() # Draw the current scene if self.current_scene is not None: self.current_scene.on_draw() # Draw fps rabbyt.set_viewport((self.width, self.height), projection=self.static_projection()) self.fps_display.draw()
def __init__(self): super(Controller, self).__init__(width=constants.WIDTH, height=constants.HEIGHT, caption="Nanobiotics")#, fullscreen=True) self.viewport = fixed_resolution.FixedResolutionViewport(self, constants.WIDTH, constants.HEIGHT, filtered=False) rabbyt.set_viewport((constants.WIDTH, constants.HEIGHT)) rabbyt.set_default_attribs() self.set_exclusive_mouse(True) self.set_mouse_visible(False) self.state = None
def init () : global window flags = pygame.OPENGL | pygame.DOUBLEBUF if BCONF.fullscreen : flags |= pygame.FULLSCREEN pygame.display.init () window = pygame.display.set_mode ( ( BCONF.width, BCONF.height ), flags ) rabbyt.set_viewport ( ( BCONF.width, BCONF.height ), ( -width, height, width, -height ) ) rabbyt.set_default_attribs ()
def __init__(self): super(Controller, self).__init__(width=constants.WIDTH, height=constants.HEIGHT, caption="Nanobiotics") #, fullscreen=True) self.viewport = fixed_resolution.FixedResolutionViewport( self, constants.WIDTH, constants.HEIGHT, filtered=False) rabbyt.set_viewport((constants.WIDTH, constants.HEIGHT)) rabbyt.set_default_attribs() self.set_exclusive_mouse(True) self.set_mouse_visible(False) self.state = None
def main(): def tuio(dt): """pyglet callback event to check for OSC messages""" server.recv(0.0333333333333) skreen=canvas(photoDeck(skreenPics().sprites)) server = liblo.Server(3333) server.add_method('/tuio/2Dcur', None, skreen.handleOsc) #server.add_method('/tuio/2Dcur', None, debugtuio) pyglet.clock.schedule_interval(tuio, 0.0001) pyglet.clock.schedule(rabbyt.add_time) rabbyt.set_default_attribs() rabbyt.set_viewport((skreen.window.height,skreen.window.width)) pyglet.app.run()
def main(): """Initialize environment, then start game instance.""" pygame.init() pygame.display.set_mode( (WINWIDTH, WINHEIGHT), pygame.OPENGL | pygame.DOUBLEBUF ) # (0,0) is center point of screen rabbyt.set_viewport( (WINWIDTH, WINHEIGHT) ) rabbyt.set_default_attribs() pygame.display.set_icon(pygame.image.load(os.path.join('images', 'gameicon.png')).convert_alpha()) pygame.display.set_caption('Escape from Wikipedia') while True: runGame() # Allows restarts
def main(): def tuio(dt): """pyglet callback event to check for OSC messages""" server.recv(0.0333333333333) skreen = canvas(photoDeck(skreenPics().sprites)) server = liblo.Server(3333) server.add_method('/tuio/2Dcur', None, skreen.handleOsc) #server.add_method('/tuio/2Dcur', None, debugtuio) pyglet.clock.schedule_interval(tuio, 0.0001) pyglet.clock.schedule(rabbyt.add_time) rabbyt.set_default_attribs() rabbyt.set_viewport((skreen.window.height, skreen.window.width)) pyglet.app.run()
def __init__(self, width, height): pygame.display.set_mode((width, height), pygame.OPENGL | pygame.DOUBLEBUF) rabbyt.set_viewport((width, height), projection=(0, 0, width, height)) rabbyt.set_default_attribs() self.size = (width, height) self.ratio = float(width) / height self.pieces = [] self.grabbed_piece = None self.panning = False self.panning_x = 0 self.panning_y = 0 self.viewport_x = 0 self.viewport_y = 0 self.z = 0 self.boards = [rabbyt.Sprite(texture='board.png')] for card_image in glob.glob(os.path.join('cards', '*png')): self.pieces.append(Piece(texture=card_image, back=os.path.join('cards', 'backs', 'back-red-150-2.png')))
def on_draw(self): draw_area = self.draw_area() static_projection = (0, draw_area[1], draw_area[0], 0) # Draw background rabbyt.set_viewport(draw_area, projection = static_projection) # reset opengl draw colour glColor(255, 255, 255, 1) GameScene.BACKGROUND.blit_tiled(0, 0, 0, draw_area[0], draw_area[1]) # Draw transformed sprites rabbyt.set_viewport(draw_area, projection = self.camera) rabbyt.render_unsorted(self.entities) # Draw static sprites rabbyt.set_viewport(draw_area, projection = static_projection) for label in self.score_labels: label.draw()
s.rgba = .7, .5, 0, rabbyt.lerp(.1, 0, now+lifetime/2, now+lifetime) Car.dust_particles.add(s) rabbyt.scheduler.add(rabbyt.get_time()+lifetime, lambda:Car.dust_particles.remove(s)) def render(self): self.shadow.render() rabbyt.Sprite.render(self) if __name__ == "__main__": pygame.init() pygame.display.set_mode((800,600), pygame.OPENGL | pygame.DOUBLEBUF) rabbyt.set_viewport((800, 600)) rabbyt.set_default_attribs() print """ This is a simple example for using rabbyt. Use the arrow keys to steer. Press SPACE to boost. """ car1 = Car("car") cars = [car1] clock = pygame.time.Clock() while True: clock.tick(40)
#right = lambda: (size[0]/2) #bottom = lambda: -(size[1]/2) #top = lambda: (size[1]/2) left = lambda: 0 top = lambda: 0 right = lambda: size[0] bottom = lambda: size[1] #FPS = 999 #FPS = 60 # Also possible: (left, top, right, bottom) # for setting (0, 0) to not be in the center #rabbyt.set_viewport(size) rabbyt.set_viewport((left(), top(), right(), bottom())) #rabbyt.set_default_attribs() def center_image(img): img.anchor_x = img.width /2 img.anchor_y = img.height/2 pyglet.resource.path = [".", "alpha", "art"] pyglet.resource.reindex() star_img = pyglet.resource.image("star.png") center_image(star_img) def random_string():
# setup window pygame.init() pygame.display.set_mode(size, video_opts) pygame.mouse.set_visible(False) def toggle_fullscreen(): global video_opts video_opts ^= FULLSCREEN pygame.display.set_mode(size, video_opts) # Also possible: (left, top, right, bottom) # for setting (0, 0) to not be in the center #rabbyt.set_viewport(size) rabbyt.set_viewport(size) rabbyt.set_default_attribs() # load our sprite def surface_to_texture_id(surf): surf = pygame.transform.flip(surf, True, True) size = surf.get_size() txt = pygame.image.tostring(surf, "RGBA") return gfx.gl.load_texture(txt, size) sprite_surf = pygame.image.load("bullet.png").convert_alpha() sprite_id = surface_to_texture_id(sprite_surf) sprites = [rabbyt.Sprite(sprite_id, sprite_surf.get_size()) for x in xrange(sprite_count)]
def init(): log.info("Setting up") pygame.init() game.window = pygame.display.set_mode(game.config.size,game.config.screenargs) rabbyt.set_viewport(game.config.size) rabbyt.set_default_attribs()
import random import rabbyt from rabbyt import lerp, wrap import pygame import os.path rabbyt.data_directory = os.path.dirname(__file__) pygame.init() pygame.display.set_mode((640, 480), pygame.OPENGL | pygame.DOUBLEBUF) rabbyt.set_viewport((640, 480)) rabbyt.set_default_attribs() sprites = [] r = lambda: random.random() - .5 for i in range(2400): s = rabbyt.Sprite("rounded_square.png") s.rgba = lerp((.5, .2, 1, .2), (0, .8, 0, .6), dt=3 * r() + 2, extend="reverse") s.x = wrap([-320, 320], lerp(r() * 640, r() * 640, dt=2, extend="extrapolate")) s.y = wrap([-240, 240], lerp(r() * 480, r() * 480, dt=2, extend="extrapolate")) s.scale = lerp(.1, 1, dt=r() + .75, extend="reverse")
import random import rabbyt from rabbyt.fonts import Font, FontSprite import pygame import os.path rabbyt.data_directory = os.path.dirname(__file__) pygame.init() pygame.display.set_mode((800, 480), pygame.OPENGL | pygame.DOUBLEBUF) rabbyt.set_viewport((800, 480)) rabbyt.set_default_attribs() font = Font(pygame.font.Font(pygame.font.get_default_font(), 20)) sprites = [] sprites.append(FontSprite(font, "lerp", x=-275, y=480/2-10)) sprites.append(rabbyt.Sprite(x=-275, y=480/2-50)) sprites.append(rabbyt.Sprite(x=-125, y=480/2-50)) s = rabbyt.Sprite() s.x = rabbyt.lerp(-275, -125, dt=3, extend="repeat") s.y = 480/2-50 sprites.append(s) sprites.append(FontSprite(font, "ease", x=-275, y=480/2-70)) sprites.append(FontSprite(font, "ease_out", x=-20, y=480/2-70)) sprites.append(FontSprite(font, "ease_in", x=235, y=480/2-70)) methods = ["sine", "quad", "cubic", "circ", "back", "bounce"]
x += self.font.space_width continue w = self.font.get_char_width(char) l, t, r, b = self.font.get_char_tex_shape(char) self.char_sprites.append(rabbyt.Sprite(texture=self.texture_id, shape=(x, 0, x+w, -h), tex_shape=self.font.get_char_tex_shape(char), rgba=self.attrgetter('rgba'))) x += w+1 text = property(_get_text, _set_text, doc="the text to be displayed") def render_after_transform(self): rabbyt.render_unsorted(self.char_sprites) if __name__=="__main__": pygame.init() pygame.display.set_mode((640, 480), pygame.OPENGL | pygame.DOUBLEBUF) rabbyt.set_viewport((640, 480)) rabbyt.set_default_attribs() font = Font(pygame.font.Font(pygame.font.get_default_font(), 20)) sprite = FontSprite(font, "hello world") sprite.rot = rabbyt.lerp(0, 360, dt=6, extend="repeat") sprite.x = 100 sprite.rgb = 0,1,1 while not pygame.event.get(pygame.QUIT): rabbyt.clear((0,.5,.5,1)) rabbyt.set_time(pygame.time.get_ticks()/1000) sprite.render() pygame.display.flip()
def update_viewport(self): rabbyt.set_viewport(self.size, projection=(self.viewport_x, self.viewport_y, (self.size[0] - self.ratio * self.z) + self.viewport_x, self.size[1] - self.z + self.viewport_y))
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."
def __init__(self): self.screen = pygame.display.set_mode(SCREEN_SIZE, \ pygame.OPENGLBLIT | pygame.DOUBLEBUF) rabbyt.set_viewport(SCREEN_SIZE) rabbyt.set_default_attribs() #self.game_state = [STARTING_SCREEN] ## A stack of game screens. self.temp_score = 0 self.font = pygame.font.Font(None, 24) self.clock = pygame.time.Clock() self.fps = 0 self.previous_tick_count = pygame.time.get_ticks() self.font = Font(pygame.font.Font(None, 36)) #title state self.backg = pygame.Surface(self.screen.get_size()).convert() #self.numCalled = 0 self.joystick = self.setup_joystick() """ if isnone(self.joystick): print "joystick detected" else: print "no joystick detected" """ #high scores self.winner_name = "" self.high_scores = [] self.high_score_names = [] self.user = user_data.User() if not os.path.isfile("RabbitHighScores"): self.high_scores = ['0', '0', '0', '0', '0'] self.high_score_names = ["OKW", "KRW", "ON", "DL", "AAA"] fdata = open("RabbitHighScores", 'w') fdata.write("OKW 0\nKRW 0\nON 0\nDL 0\nAAA 0") else: fdata = open("RabbitHighScores") for line in fdata.readlines(): temp = line.split() self.high_scores.append(int(temp[1])) self.high_score_names.append(temp[0]) #music pygame.mixer.init(frequency=22050,size=-16, channels=2, buffer=4096) #self.crash = pygame.mixer.Sound('Crash1.wav') self.win_sound = pygame.mixer.Sound('winning.wav') self.lose_sound = pygame.mixer.Sound('losing.wav') self.gem_pickup_sound = pygame.mixer.Sound('gem.wav') self.bullet_sound = pygame.mixer.Sound('bullet.wav') pygame.mixer.music.load('game-motif-sad.mp3') pygame.mixer.music.play(-1, 0.0) self.game_states = [] self.done = False self.game_states.append(states.menu.Menu()) self.game_states.append(states.set_controls.SetControls()) #time self.time_offset = 0.0
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
rabbyt.Sprite.__init__(self, **kargs) self.animflag = False def animendcallback(self): self.animflag = False def width(self): return self.right - self.left def height(self): return self.bottom - self.top size = (800.0, 600) ratio = (size[0]/size[1]) print ratio pygame.init() pygame.display.set_mode(size, pygame.OPENGL | pygame.DOUBLEBUF) rabbyt.set_viewport(size, projection=(0, 0, size[0], size[1])) rabbyt.set_default_attribs() pieces = [Piece(xy=attributes[0], texture=attributes[1]) for attributes in [((100, 100), 'red_viking.png'), ((200, 50), 'green_viking.png'), ((300, 150), 'island_tile.png'), ((400, 100), 'island_tile.png')]] grabbed_point = None print "Click and drag the pieces. Scrollwheel to rotate pieces." clock = pygame.time.Clock() running=True z=0 offset_x = 0