def handle_event(): global cx, cy global mx, my global idx global targetX, targetY global moveFlag global direct, state event = p.get_events() for e in event: if e.type == p.SDL_MOUSEBUTTONDOWN: currentX = cx currentY = cy targetX = e.x targetY = MONITORY - 1 - e.y movelist.clear() idx = 0 if targetX >= cx: direct = Direct.e_right else: direct = Direct.e_left state = State.e_running for i in range(0, 100 + 1, 2): t = i / 100 movelist.append(((1 - t) * currentX + t * targetX, (1 - t) * currentY + t * targetY)) moveFlag = True if e.type == p.SDL_MOUSEMOTION: mx = e.x my = MONITORY - 1 - e.y
def input_handling(): global running events = pico2d.get_events() for event in events: if event.type == pico2d.SDL_KEYDOWN and event.key == pico2d.SDLK_ESCAPE: running = False pass
def input_handling(): global running global player_source_x global player_source_y global player_pos_x global player_pos_y global player_dest_x global player_dest_y global player_is_running global player_running_i global heigth global mouse_position_x global mouse_position_y global player_is_view_left events = pico2d.get_events() for event in events: if event.type == pico2d.SDL_MOUSEBUTTONDOWN and event.button == pico2d.SDL_BUTTON_LEFT: x, y = event.x, heigth - 1 - event.y player_source_x = player_pos_x player_source_y = player_pos_y player_dest_x = x - 20 player_dest_y = y + 21 player_is_running = 0 player_running_i = 0 player_is_running = True if player_source_x > player_dest_x: player_is_view_left = True else: player_is_view_left = False elif event.type == pico2d.SDL_KEYDOWN and event.key == pico2d.SDLK_ESCAPE: running = False elif event.type == pico2d.SDL_MOUSEMOTION: mouse_position_x, mouse_position_y = event.x, heigth - 1 - event.y pass
def handle_events(): global road, player events = pico2d.get_events() for e in events: if e.type == pico2d.SDL_QUIT: game_framework.quit() elif e.type == pico2d.SDL_KEYDOWN: if e.key == pico2d.SDLK_ESCAPE: game_framework.pop_state() elif e.key == pico2d.SDLK_LEFT: player.car.dir -= 1 elif e.key == pico2d.SDLK_RIGHT: player.car.dir += 1 elif e.key == pico2d.SDLK_DOWN: player.car.accel -= DELAY*10*math.log2(player.car.level + 1) elif e.key == pico2d.SDLK_UP: player.car.accel += DELAY*10*math.log2(player.car.level + 1) elif e.type == pico2d.SDL_KEYUP: if e.key == pico2d.SDLK_LEFT: player.car.dir += 1 elif e.key == pico2d.SDLK_RIGHT: player.car.dir -= 1 elif e.key == pico2d.SDLK_UP: player.car.accel -= DELAY*10*math.log2(player.car.level + 1) elif e.key == pico2d.SDLK_DOWN: player.car.accel += DELAY*10*math.log2(player.car.level + 1)
def handle_event(self): events = pico2d.get_events() for event in events: if event.type in self.call_chain_dict: if event.y is not None: event.y = self.framework.h - event.y + 1 self.call_chain_dict[event.type].execute(event) self.default_event_handle(event)
def handle_events(): events_list = pico2d.get_events() for curr_event in events_list: if curr_event.type == pico2d.SDL_QUIT: GameFrameWork.quit_state() elif curr_event.type == pico2d.SDL_KEYDOWN and curr_event.key == pico2d.SDLK_ESCAPE: GameFrameWork.quit_state() pass
def handle_events(): global running, x, y, speed, mouse_x, mouse_y events = pico2d.get_events() for event in events: if event.type == pico2d.SDL_QUIT: running = False elif event.type == pico2d.SDL_KEYDOWN: if event.key == pico2d.SDLK_ESCAPE: running = False elif event.type == pico2d.SDL_MOUSEMOTION: mouse_x, mouse_y = event.x, event.y
def handle_events(): global title events = pico2d.get_events() for e in events: if e.type == pico2d.SDL_QUIT: game_framework.quit() elif e.type == pico2d.SDL_KEYDOWN: if e.key == pico2d.SDLK_ESCAPE: game_framework.quit() if e.key == pico2d.SDLK_SPACE: game_framework.push_state(garage_state) ui.handle_event(e)
def handle_events(): global fade_timer events_list = pico2d.get_events() for curr_event in events_list: if curr_event.type == pico2d.SDL_QUIT: GameFrameWork.quit_state() elif curr_event.type == pico2d.SDL_KEYDOWN and curr_event.key == pico2d.SDLK_ESCAPE: GameFrameWork.quit_state() elif curr_event.type == pico2d.SDL_KEYDOWN and curr_event.key == pico2d.SDLK_RETURN: if fade_timer == 1.0: fade_timer -= GameFrameWork.frame_time pass
def handle_events(): global running, x, y, speed, mouse_x, mouse_y, waypoints events = pico2d.get_events() for event in events: if event.type == pico2d.SDL_QUIT: running = False elif event.type == pico2d.SDL_KEYDOWN: if event.key == pico2d.SDLK_ESCAPE: running = False elif event.type == pico2d.SDL_MOUSEMOTION: mouse_x, mouse_y = event.x, event.y elif event.type == pico2d.SDL_MOUSEBUTTONDOWN: if event.button == pico2d.SDL_BUTTON_LEFT: waypoints.append(Pointer(mouse_x, mouse_y)) else: waypoints.clear()
def handle_events(): global road, player, mx, my events = pico2d.get_events() for e in events: if e.type == pico2d.SDL_QUIT: garage_state.save_data() game_framework.quit() elif e.type == pico2d.SDL_KEYDOWN and not player.gameover: if e.key == pico2d.SDLK_ESCAPE: garage_state.save_data() game_framework.change_state(garage_state) if e.key == pico2d.SDLK_a: player.car.dir -= 1 elif e.key == pico2d.SDLK_d: player.car.dir += 1 elif e.key == pico2d.SDLK_s: player.car.accel -= DELAY * 10 * math.log2(player.car.level + 2) # player.car.y_speed = -player.car.max_speed elif e.key == pico2d.SDLK_w: player.car.accel += DELAY * 10 * math.log2(player.car.level + 2) # player.car.y_speed = player.car.max_speed elif e.type == pico2d.SDL_KEYUP and not player.gameover: if e.key == pico2d.SDLK_a: player.car.dir += 1 elif e.key == pico2d.SDLK_d: player.car.dir -= 1 elif e.key == pico2d.SDLK_w: player.car.accel -= DELAY * 10 * math.log2(player.car.level + 2) # player.car.y_speed = 0 elif e.key == pico2d.SDLK_s: player.car.accel += DELAY * 10 * math.log2(player.car.level + 2) # player.car.y_speed = 0 elif e.type == pico2d.SDL_MOUSEMOTION: mx, my = e.x, ch - e.y elif e.type == pico2d.SDL_MOUSEBUTTONDOWN: if e.button == pico2d.SDL_BUTTON_LEFT and not player.gameover: player.shoot = True elif e.type == pico2d.SDL_MOUSEBUTTONUP: if e.button == pico2d.SDL_BUTTON_LEFT and not player.gameover: player.shoot = False
def handle_events(): global scene events = p2.get_events() for event in events: if event.type == p2.SDL_KEYDOWN: if event.key == p2.SDLK_ESCAPE: scene = -1 if event.key == p2.SDLK_LEFT: if scene > 0: scene -= 1 if event.key == p2.SDLK_RIGHT: if scene < 2: scene += 1 if event.key == p2.SDLK_SPACE: if scene == 0: game_framework.change_state(EasyGame) if scene == 1: game_framework.change_state(MidGame) if scene == 2: game_framework.change_state(HardGame)
def handle_events(): global direct global state events = p.get_events() for event in events: if event.key == p.SDLK_RIGHT: myInput[0] ^= True direct = Direct.e_right if event.key == p.SDLK_LEFT: myInput[1] ^= True direct = Direct.e_left if event.key == p.SDLK_DOWN: myInput[2] ^= True if event.key == p.SDLK_UP: myInput[3] ^= True if event.key == p.SDLK_LEFT or event.key == p.SDLK_RIGHT or event.key == p.SDLK_UP or event.key == p.SDLK_DOWN: if event.type == p.SDL_KEYDOWN: state = State.e_running else: state = State.e_idle
def handle_events(): global running, boy events = pico2d.get_events() for event in events: if event.type == pico2d.SDL_QUIT: running = False elif event.type == pico2d.SDL_KEYDOWN: if event.key == pico2d.SDLK_ESCAPE: running = False elif event.key == pico2d.SDLK_RIGHT: boy.velocity += 1 boy.change_state(RUN) elif event.key == pico2d.SDLK_LEFT: boy.velocity -= 1 boy.change_state(RUN) elif event.type == pico2d.SDL_KEYUP: if event.key == pico2d.SDLK_RIGHT: boy.velocity -= 1 boy.change_state(IDLE) elif event.key == pico2d.SDLK_LEFT: boy.velocity += 1 boy.change_state(IDLE)
def handle_events(): global running global canvas_camera global block_list global wall_list global check_simultaneous_key_buffer_dic global select_block_value global select_wall_value global curr_selected_object events = pico2d.get_events() # simultaneous = 동시에 일어나는 for event in events: if event.type == pico2d.SDL_QUIT: running = False elif event.type == pico2d.SDL_KEYDOWN: if event.key == pico2d.SDLK_ESCAPE: running = False # 카메라 움직임 elif event.key == pico2d.SDLK_w: canvas_camera.move('w') elif event.key == pico2d.SDLK_a: canvas_camera.move('a') elif event.key == pico2d.SDLK_s: canvas_camera.move('s') check_simultaneous_key_buffer_dic['key_s'] = True elif event.key == pico2d.SDLK_d: canvas_camera.move('d') elif event.key == pico2d.SDLK_LCTRL: check_simultaneous_key_buffer_dic['ctrl'] = True continue # 블럭 선택 elif event.key == pico2d.SDLK_1: select_block_value = Block_Type.BLOCK_BASIC_STRONG_COLOR_1 curr_selected_object = 'Block' elif event.key == pico2d.SDLK_2: select_block_value = Block_Type.BLOCK_BASIC_WEAK_COLOR_1 curr_selected_object = 'Block' elif event.key == pico2d.SDLK_3: select_wall_value = Wall_Type.WALL_BASIC_1 curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_4: select_wall_value = Wall_Type.WALL_BASIC_2 curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_5: select_wall_value = Wall_Type.WALL_VINE curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_6: select_wall_value = Wall_Type.WALL_STONE curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_7: select_wall_value = Wall_Type.WALL_STONE_DAMAGED curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_8: select_wall_value = Wall_Type.WALL_SKULL_1 curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_9: select_wall_value = Wall_Type.WALL_SKULL_2 curr_selected_object = 'Wall' elif event.key == pico2d.SDLK_0: select_wall_value = Wall_Type.WALL_SKULL_3 curr_selected_object = 'Wall' # 몬스터 선택 elif event.key == pico2d.SDLK_y: select_wall_value = Monster_Type.MONSTER_SLIME_GREEN curr_selected_object = 'Monster' elif event.key == pico2d.SDLK_u: select_wall_value = Monster_Type.MONSTER_SLIME_BLUE curr_selected_object = 'Monster' elif event.key == pico2d.SDLK_i: select_wall_value = Monster_Type.MONSTER_SKULL_WHITE curr_selected_object = 'Monster' elif event.key == pico2d.SDLK_o: select_wall_value = Monster_Type.MONSTER_BAT_BASIC curr_selected_object = 'Monster' elif event.key == pico2d.SDLK_p: select_wall_value = Monster_Type.MONSTER_BANSHEE curr_selected_object = 'Monster' elif event.key == pico2d.SDLK_DELETE: curr_selected_object = 'Delete_Object' elif event.key == pico2d.SDLK_r: block_list.clear() wall_list.clear() map_data_load_file = open("map_data_load.txt", 'r') read_database = map_data_load_file.read() split_data = read_database.split() for curr_reading_data_idx, curr_reading_data_val in enumerate( split_data): if split_data[curr_reading_data_idx] == 'Block': str_to_enum_val = str( split_data[curr_reading_data_idx + 1]) str_to_enum_val = str_to_enum_val.replace( 'Block_Type.', "") block_list.append( Block(Block_Type[str_to_enum_val], int(split_data[curr_reading_data_idx + 2]), int(split_data[curr_reading_data_idx + 3]))) pass elif split_data[curr_reading_data_idx] == 'Wall': str_to_enum_val = str( split_data[curr_reading_data_idx + 1]) str_to_enum_val = str_to_enum_val.replace( 'Wall_Type.', "") wall_list.append( Wall(Wall_Type[str_to_enum_val], int(split_data[curr_reading_data_idx + 2]), int(split_data[curr_reading_data_idx + 3]))) pass curr_reading_data_idx += 3 map_data_load_file.close() pass elif event.type == pico2d.SDL_KEYUP: if event.key == pico2d.SDLK_s: check_simultaneous_key_buffer_dic['key_s'] = False continue elif event.key == pico2d.SDLK_LCTRL: check_simultaneous_key_buffer_dic['ctrl'] = False continue # 마우스로 블럭 생성하기 위한 마우스 위치 조정 elif event.type == pico2d.SDL_MOUSEBUTTONDOWN: mouse_x, mouse_y = event.x, CANVAS_HEIGHT - 1 - event.y click_area = Rectangle(mouse_x - mouse_x % 50, mouse_y - mouse_y % 50, mouse_x - mouse_x % 50 + 50, mouse_y - mouse_y % 50 + 50) if abs(mouse_x - click_area.left) <= abs(mouse_x - click_area.right): mouse_x = click_area.left else: mouse_x = click_area.right if abs(mouse_y - click_area.bottom) <= abs(mouse_y - click_area.top): mouse_y = click_area.bottom else: mouse_y = click_area.top mouse_point = Point(mouse_x + canvas_camera.camera_rect.left, mouse_y + canvas_camera.camera_rect.bottom) # duplication = 중복 / 중복 체크 check_duplication = False for duplication in block_list: if duplication.pivot.x == mouse_point.x and duplication.pivot.y == mouse_point.y: check_duplication = True if curr_selected_object == 'Delete_Object': del block_list[block_list.index(duplication)] break for duplication in wall_list: if duplication.pivot.x == mouse_point.x and duplication.pivot.y == mouse_point.y: check_duplication = True if curr_selected_object == 'Delete_Object': del wall_list[wall_list.index(duplication)] break # 중복되지 않았다면 블럭 생성 if check_duplication is False: if curr_selected_object == 'Block': block_list.append( Block(select_block_value, mouse_point.x, mouse_point.y)) elif curr_selected_object == 'Wall': wall_list.append( Wall(select_wall_value, mouse_point.x, mouse_point.y)) pass pass
def handle_events(frame_time): events = pico2d.get_events()
def handle_events(): events = pico2d.get_events() for e in events: if e.type == pico2d.SDL_QUIT: game_framework.quit() ui.handle_event(e)
import pico2d as Pico Pico.open_canvas() Grass = Pico.load_image('../res/grass.png') Character = Pico.load_image('../res/run_animation.png') x = 0 FrameIndex = 0 while x < 800 : Pico.clear_canvas() Grass.draw(400,30) Character.clip_draw(100 * FrameIndex, 0, 100, 100, x, 85) Pico.update_canvas() Pico.get_events() x += 4 #FrameIndex += 1 #if FrameIndex >= 8 : # FrameIndex = 0 FrameIndex = (FrameIndex + 1) % 8 Pico.delay(0.05) Pico.close_canvas()