def leave_actor(self, filename): _DEB('Leave actor: %s' % filename) self.__assert_video_enabled__() actor_width = self.__actor_image[filename].get_width() self.__actors.remove(filename) self.__draw_scene(self.__actors) transitions.move(self.__actor_image[filename], self.__actor_position[filename], (-actor_width, self.__actor_position[filename][1]), 1.0) # Move remainder actors new_positions = self.__get_center_points(len(self.__actors)) pos_idx = 0 drawed_actors = [] for actor in self.__actors: actor_width = self.__actor_image[actor].get_width() new_pos = (new_positions[pos_idx] - (actor_width / 2), self.__actor_position[actor][1]) self.__draw_scene(drawed_actors) transitions.move(self.__actor_image[actor], self.__actor_position[actor], new_pos, .5) self.__actor_position[actor] = new_pos drawed_actors.append(actor) pos_idx += 1 del(self.__actor_image[filename]) del(self.__actor_position[filename])
def enter_actor(self, filename): _DEB('Enter actor: %s' % filename) self.__assert_video_enabled__() # Move current actors new_positions = self.__get_center_points(len(self.__actors) + 1) pos_idx = 0 drawed_actors = [] for actor in self.__actors: actor_width = self.__actor_image[actor].get_width() new_pos = (new_positions[pos_idx] - (actor_width / 2), self.__actor_position[actor][1]) self.__draw_scene(drawed_actors) transitions.move(self.__actor_image[actor], self.__actor_position[actor], new_pos, .5) drawed_actors.append(actor) self.__actor_position[actor] = new_pos pos_idx += 1 # Put new actor self.__actors.append(filename) self.__actor_image[filename] = video.load_image(filename) actor_width = self.__actor_image[filename].get_width() actor_row = (self.__video.size[1] - self.__actor_image[filename].get_height()) self.__actor_position[filename] = ( new_positions[pos_idx] - (actor_width / 2), actor_row ) self.__draw_scene(drawed_actors) transitions.move(self.__actor_image[filename], (-actor_width, actor_row), self.__actor_position[filename], 1.0)