def main(): # config Config.backend = 'pyglet' Config.init() # init context_manager = ContextManager() universe.context_manager = context_manager resolution = Config.resolution context = Context("context") # context create_sprites(context) geometry = (0, 0, resolution[0], resolution[1]) screen = VirtualScreenRealCoordinates('screen', geometry) context.add_screen(screen) context_manager.add_state(context) context_manager.set_initial_state(context) context_manager.start() # instruction text # FIXME : had a shift to center text shift_x = 200 instr = Text('text', context, 4, 'hit SPACE bar to get ahead in the dialog', 'Times New Roman', 20) instr.set_location(np.array([Config.resolution[0] / 2 - shift_x, (Config.resolution[1] * 15) / 16])) # start event_loop = Config.get_event_loop() event_loop.start()
def main(): Config.backend = 'pyglet' Config.init() #FIXME : find another way to add the device context_manager = ContextManager() universe.context_manager = context_manager # manage context properties_all_active = { 'is_visible' : True, 'is_active' : True, '_is_receiving_events' : True} context = Context("Context", **properties_all_active) context_manager.add_state(context) context_manager.set_initial_state(context) context_manager.start() resolution = Config.resolution geometry = (0, 0, resolution[0], resolution[1]) screen_fixed = VirtualScreenRealCoordinates('fixed screen', geometry) # dialog context context.add_screen(screen_fixed) text = Text('text', context, 4, 'bonjour') text.set_location([100,100]) incrementator = Incrementator() incrementator.text = text incrementator.context = context timer = Timer('timer') timer.start() timer.connect('time_event', incrementator, 'on_time_event') # FPS event_loop = Config.get_event_loop() event_loop.start()
def __init__(self, name, msg, text_area_mode="auto", is_visible=True, is_active=True, _is_receiving_events=True): Context.__init__(self, name, is_visible, is_active, _is_receiving_events) screen = Config.get_graphic_engine().get_screen() ws, hs = screen.get_width(), screen.get_height() uniform = UniformLayer('dark', self, layer=0, color=(0, 0, 0), alpha=128) uniform.start() dialog_bg = StaticSprite('dialog_bg', self, layer=4) dialog_bg.load_from_filename(imgname='dialog.png', center_location='top_left') _, _, width, height = dialog_bg.bounding_box() x, y = (ws - width) / 2., hs - height area = (x, y), (width, height) dialog_bg.set_location([x,y]) dialog_bg.start() if text_area_mode is "color_area": black_area = dialog_bg.get_frame_infos()[0].find_color_area(color='black') text_area = ((x+black_area[0][0], y+black_area[0][1]), (black_area[1][0]-black_area[0][0], black_area[1][1]-black_area[0][1])) elif text_area_mode is "auto": text_area = (area[0][0] + 100, area[0][1] + 30), (area[1][0] - 130, area[1][1] + 60) dialog = Dialog('dialog', self, layer=4) states = [] for i, (perso, txt, typing_machine_mode) in enumerate(msg): state = DialogState('state_%d' % i, txt, 'Times New Roman', 13, text_area, perso, 20., typing_machine_mode) dialog.add_state(state) states.append(state) dialog.set_initial_state(states[0]) dialog.set_location(text_area[0]) dialog.start() next = Text('text', self, 4, '...', 'Times New Roman', 40) next.set_location([x+width-80,y+height-80]) next.start() self.set_visible(next, False) sprite = StaticSprite('sprite', self, layer=4) sprite.load_from_filename(imgname='perso.png') sprite.set_location([x + 60, y + height / 2]) sprite.start() # FIXME dialog.dl = DialogListener() dialog.dl.states = states dialog.dl.context = self dialog.dl.next = next signal = (KeyBoardDevice.constants.KEYDOWN, KeyBoardDevice.constants.K_SPACE) self.connect(signal, dialog.dl, 'on_fast_forward') for state in states: state.connect('dialog_state_terminated', dialog.dl, 'on_dialog_finish') state.connect('dialog_state_started', dialog.dl, 'on_dialog_start')
def main(): # config Config.backend = 'pyglet' Config.init() # init context_manager = ContextManager() universe.context_manager = context_manager resolution = Config.resolution context = Context("context") # status text # FIXME : had a shift to center text shift_x = 90 text = Text('text', context, 4, '????', 'Times New Roman', 80) text.set_location(np.array([Config.resolution[0] / 2 - shift_x, Config.resolution[1] / 32])) text.stop() # instruction text # FIXME : had a shift to center text shift_x = 60 instr = Text('text', context, 4, 'hit SPACE bar', 'Times New Roman', 20) instr.set_location(np.array([Config.resolution[0] / 2 - shift_x, (Config.resolution[1] * 7) / 8])) instr.stop() # background bg_left = create_bg_left(context, text, resolution) bg_right = create_bg_right(context, text, resolution) player = create_player(context, resolution) # collider manager collider_manager = CollisionManager() collider_manager.add_collidable_ref_sprite(player) collider_manager.add_collidable_sprites([bg_left, bg_right]) signal = (KeyBoardDevice.constants.KEYDOWN, KeyBoardDevice.constants.K_SPACE) context.connect(signal, collider_manager, "on_collision", asynchronous=False) # context geometry = (0, 0, resolution[0], resolution[1]) screen = VirtualScreenRealCoordinates('screen', geometry) context.add_screen(screen) context_manager.add_state(context) context_manager.set_initial_state(context) context_manager.start() # start event_loop = Config.get_event_loop() event_loop.start()
def main(): # config Config.backend = 'pyglet' Config.init() # init context_manager = ContextManager() universe.context_manager = context_manager resolution = Config.resolution context = Context("context") bg = create_bg(context) # game context avatars = create_avatars(context) geometry = (0, 0, resolution[0], resolution[1]) screen = VirtualScreenWorldCoordinates('screen', geometry) context.add_screen(screen) context_manager.add_state(context) context_manager.set_initial_state(context) context_manager.start() # avatar switch switcher = AvatarSwitcher(avatars[0], avatars[1]) signal = (KeyBoardDevice.constants.KEYDOWN, KeyBoardDevice.constants.K_SPACE) context.connect(signal, switcher, "on_space_press") # instruction text # FIXME : had a shift to center text shift_x = 60 instr = Text('text', context, 4, 'hit SPACE bar', 'Times New Roman', 20) instr.set_location(np.array([Config.resolution[0] / 2 - shift_x, (Config.resolution[1] * 15) / 16])) # start event_loop = Config.get_event_loop() event_loop.start()
def main(): # config Config.backend = 'pyglet' Config.init() # init context_manager = ContextManager() universe.context_manager = context_manager resolution = Config.resolution context_split = Context("context split") create_bg(context_split) # left context perso_left = create_perso_left(context_split) geometry_left = (0, 0, resolution[0] / 2, resolution[1]) screen_left = VirtualScreenWorldCoordinates('screen left', geometry_left, perso_left.get_location(), perso_left) context_split.add_screen(screen_left) context_manager.add_state(context_split) # right context perso_right = create_perso_right(context_split) geometry_right = (resolution[0] / 2, 0, resolution[0] / 2,resolution[1]) screen_right = VirtualScreenWorldCoordinates('screen right', geometry_right, perso_right.get_location(), perso_right) context_split.add_screen(screen_right) context_manager.add_state(context_split) context_manager.set_initial_state(context_split) context_manager.start() # context pause context_pause = Context("context pause") create_pause(context_pause) context_manager.add_state(context_pause) geometry = (0, 0, resolution[0], resolution[1]) screen = VirtualScreenRealCoordinates('screen', geometry) context_pause.add_screen(screen) # start event_loop = Config.get_event_loop() event_loop.start()
def main(): Config.backend = 'pyglet' Config.init() #FIXME : find another way to add the device context_manager = ContextManager() universe.context_manager = context_manager # manage context properties_all_active = { 'is_visible' : True, 'is_active' : True, '_is_receiving_events' : True} properties_all_inactive = { 'is_visible' : False, 'is_active' : False, '_is_receiving_events' : False} properties_game_inpause = { 'is_visible' : True, 'is_active' : False, '_is_receiving_events' : False} context_ingame = Context("In game") resolution = Config.resolution geometry = (0, 0, resolution[0], resolution[1]) screen_fixed = VirtualScreenRealCoordinates('fixed screen', geometry) msg = [ ('player', '... ...mmm...ou...ou suis-je ? ' + \ "ahh...mes yeux ! " + \ "Laissons leur le temps de s'habituer.", True), #('player', '...%1...%1mmm...%1ou...ou suis-je ?\n' + \ #"ahh...mes yeux !\n" + \ #"Laissons leur le temps de s'habituer\n", True), ('player', "Mais%1c'est un hopital ! " + \ "Voyons. Jambes...%1OK. Bras...%1OK. Tete...%1OK.", True), ('nurse', "Ho! J'ai entendu du bruit dans la chambre " + \ "d'a cote", False), ('player', 'Bon...allons chercher des renseignements.', True) ] context_dialog = DialogContext("Dialog", msg) context_dialog.add_screen(screen_fixed) context_pause = Context("Pause", **properties_all_inactive) context_fps = Context("fps", **properties_all_inactive) signal_pause = (KeyBoardDevice.constants.KEYDOWN, KeyBoardDevice.constants.K_p) signal_dialog_on = "dialog_on" signal_dialog_off = "dialog_off" context_ingame.add_transition(context_manager, signal_pause, context_pause, properties_game_inpause, properties_all_active) context_pause.add_transition(context_manager, signal_pause, context_ingame, properties_all_inactive, properties_all_active) context_ingame.add_transition(context_manager, signal_dialog_on, context_dialog, properties_game_inpause, properties_all_active) context_dialog.add_transition(context_manager, signal_dialog_off, context_ingame, properties_all_inactive, properties_all_active) context_manager.add_state(context_ingame) context_manager.add_state(context_pause) context_manager.add_state(context_dialog) context_manager.add_state(context_fps) context_manager.set_initial_state(context_ingame) context_manager.start() event = SignalEvent(None, context_ingame, 'on_transition', signal_dialog_on) event.start() # ingame context create_bg(context_ingame) player = create_player(context_ingame) create_nurse(context_ingame) screen_game = VirtualScreenWorldCoordinates('main screen', geometry, player.get_location(), player) context_ingame.add_screen(screen_game) # pause context create_pause(context_pause) context_pause.add_screen(screen_fixed) context_dialog.add_screen(screen_fixed) # fps context fps_sprite = FpsSprite('fps', context_fps) context_fps.add_screen(screen_fixed) # FPS event_loop = Config.get_event_loop() event_loop.start()
def main(): # config Config.backend = 'pyglet' Config.init() # init context_manager = ContextManager() universe.context_manager = context_manager resolution = Config.resolution context = Context("context") # status text # FIXME : had a shift to center text shift_x = 90 text = Text('text', context, 4, '????', 'Times New Roman', 80) text.set_location(np.array([Config.resolution[0] / 2 - shift_x, Config.resolution[1] / 32])) text.stop() # instruction text # FIXME : had a shift to center text shift_x = 60 instr = Text('text', context, 4, 'hit SPACE bar', 'Times New Roman', 20) instr.set_location(np.array([Config.resolution[0] / 2 - shift_x, (Config.resolution[1] * 15) / 16])) instr.stop() # squares squares = [] for (color, colorname) in [((64, 32, 32), 'red'), ((32, 64, 32), 'green'), ((32, 32, 64), 'blue'), ((64, 64, 32), 'yellow')]: s = create_colored_square(context, text, color, colorname, resolution) squares.append(s) for square in squares: square.add_squares(squares) init_squares_locations(resolution) move_squares_randomly(squares) # player and nurse player = create_player(context, resolution) nurse = create_nurse(context, text, resolution) # collider manager collider_manager = CollisionManager() collider_manager.add_collidable_ref_sprite(player) collider_manager.add_collidable_sprite(nurse) # first in the check list collider_manager.add_collidable_sprites(squares) signal = (KeyBoardDevice.constants.KEYDOWN, KeyBoardDevice.constants.K_SPACE) context.connect(signal, collider_manager, "on_collision", asynchronous=False) # context geometry = (0, 0, resolution[0], resolution[1]) screen = VirtualScreenRealCoordinates('screen', geometry) context.add_screen(screen) context_manager.add_state(context) context_manager.set_initial_state(context) context_manager.start() # start event_loop = Config.get_event_loop() event_loop.start()