예제 #1
0
    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])
예제 #2
0
    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)