rock_spawner() # # Main ####### if __name__ == '__main__': # Create frame frame = simplegui.create_frame('Spaceship prototype', SCREEN_WIDTH, SCREEN_HEIGHT, 100) # Create FPS fps = FPS() # Load medias loader = Loader(frame, SCREEN_WIDTH, start) # Images by Kim Lathrop loader.add_image('http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/asteroid_blue.png', 'asteroid') loader.add_image('http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/debris2_blue.png', 'debris') loader.add_image('http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/shot2.png', 'missile') loader.add_image('http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/nebula_brown.png', 'nebula') loader.add_image('http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png', 'ship') asteroid_info = ImageInfo((45, 45), (90, 90), 40) debris_info = ImageInfo((320, 240), (640, 480))
def load_medias(self): """ Load images and sounds and waiting all is loaded, the set the general draw handler. """ self.img_infos = { 'asteroid-1': ImageInfo((45, 45), (90, 90), 40), 'asteroid-2': ImageInfo((45, 45), (90, 90), 40), 'asteroid-3': ImageInfo((45, 45), (90, 90), 38), 'asteroid_explosion': ImageInfo((64, 64), (128, 128), 17, 24, True), 'asteroid_collide_explosion': ImageInfo((64, 64), (128, 128), 17, 24, True), 'bomb': ImageInfo((10, 10), (20, 20)), 'debris': ImageInfo((320, 240), (640, 480)), 'little-asteroid-1': ImageInfo((45, 45), (90, 90), 27, None, False, (60, 60)), 'little-asteroid-2': ImageInfo((45, 45), (90, 90), 27, None, False, (60, 60)), 'little-asteroid-3': ImageInfo((45, 45), (90, 90), 26, None, False, (60, 60)), 'live_explosion': ImageInfo((64, 64), (128, 128), 17, 24, True), 'missile': ImageInfo((5, 5), (10, 10), 3, 50), 'nebula': ImageInfo((400, 300), (800, 600)), 'ship': ImageInfo((45, 45), (90, 90), 35), 'ship_explosion': ImageInfo((64, 64), (128, 128), 17, 24, True), 'splash': ImageInfo((200, 150), (400, 300)) } def init(): """ Init the game after medias loaded. """ if SIMPLEGUICS2PYGAME: frame._set_canvas_background_image( self.medias.get_image('nebula')) self.medias._images['live_explosion'] = \ self.medias._images['ship_explosion'] for i in range(1, 4): self.medias._images['little-asteroid-' + str(i)] = \ self.medias._images['asteroid-' + str(i)] self.medias._sounds['asteroid_collide_explosion'] = \ self.medias._sounds['asteroid_explosion'] self.medias.get_sound('missile').set_volume(.5) self.my_ship = Ship((SCREEN_WIDTH / 2.0, SCREEN_HEIGHT / 2.0), (0, 0), -math.pi / 2, 'ship') frame.set_draw_handler(self.draw_and_update) frame.set_keydown_handler(keydown) frame.set_keyup_handler(keyup) frame.set_mouseclick_handler(click) if self.music_active: self.medias.get_sound('intro').play() self.loaded = True self.medias = Loader(frame, SCREEN_WIDTH, init) # Images by Kim Lathrop self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/asteroid_blend.png', 'asteroid-1') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/asteroid_blue.png', 'asteroid-2') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/asteroid_brown.png', 'asteroid-3') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/explosion_alpha.png', 'asteroid_explosion') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/explosion_alpha2.png', 'asteroid_collide_explosion') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/shot3.png', 'bomb') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/debris2_blue.png', 'debris') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/shot2.png', 'missile') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/nebula_brown.png', 'nebula') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png', 'ship') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/explosion_orange.png', 'ship_explosion') self.medias.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/splash.png', 'splash') # Sounds from http://www.sounddogs.com/ (not free) self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/explosion.ogg', 'asteroid_explosion') self.medias.add_sound( 'http://rpg.hamsterrepublic.com/wiki-images/f/f4/StormMagic.ogg', 'bomb_explode') self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-demos/pyman_assets/extralife.ogg', 'bomb_extra') self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-demos/pyman_assets/eatedible.ogg', 'collide') self.medias.add_sound( 'http://rpg.hamsterrepublic.com/wiki-images/5/58/Death.ogg', 'death') self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-demos/pyman_assets/intromusic.ogg', 'intro') self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/soundtrack.ogg', 'soundtrack') self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/missile.ogg', 'missile') self.medias.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/thrust.ogg', 'ship_thrust') self.medias.load() self.medias.wait_loaded()
""" if not SIMPLEGUICS2PYGAME: global logo logo = loader.get_image('logo') frame.set_draw_handler(draw) if SIMPLEGUICS2PYGAME: from sys import argv if len(argv) == 2: frame._save_canvas_and_stop(argv[1]) loader = Loader(frame, WIDTH, init) loader.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png', 'double_ship') if not SIMPLEGUICS2PYGAME: loader.add_image( 'http://simpleguics2pygame.readthedocs.org/en/latest/_images/SimpleGUICS2Pygame_64x64_t.png', 'logo') loader.load() loader.wait_loaded() if SIMPLEGUICS2PYGAME: logo = simplegui._load_local_image( '../_img/SimpleGUICS2Pygame_64x64_t.png')
# Set the real draw handler frame.set_draw_handler(draw) def quit_prog(): """ Stop sounds and frame """ loader.pause_sounds() # stop all sounds frame.stop() if SIMPLEGUICS2PYGAME and frame._print_stats_cache: loader.print_stats_cache() loader = Loader( frame, # the frame WIDTH, # the width frame init) # the function to call after loading # Specified images to load with its URL and give them a name. loader.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/asteroid_blend.png', 'asteroid') loader.add_image( 'http://commondatastorage.googleapis.com/codeskulptor-assets/lathrop/double_ship.png', 'double_ship') loader.add_image('xxx', 'incorrect url') # Specified sounds to load with its URL and give them a name. loader.add_sound( 'http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/explosion.ogg', 'explosion')