    def __init__(self, screen, renderer_dict, path, colour=Screen.COLOUR_WHITE,
                 clear=True, speed=2, **kwargs):
        """
        :param screen: The Screen being used for the Scene.
        :param renderer_dict: A dictionary of Renderers to use for displaying
                              the Sprite.
        :param path: The Path for the Sprite to follow.
        :param colour: The colour to use to render the Sprite.
        :param clear: Whether to clear out old images or leave a trail.
        :param speed: The refresh rate in frames between updates.

        Note that a speed of 1 will force the Screen to redraw the Effect every frame update, while a value
        of 0 will redraw on demand - i.e. will redraw every time that an update is required by another Effect.

        Also see the common keyword arguments in :py:obj:`.Effect`.
        """
        super().__init__(screen, **kwargs)
        self._renderer_dict = renderer_dict
        self._path = path
        self._index = None
        self._colour = colour
        self._clear = clear
        self._old_height = None
        self._old_width = None
        self._old_x = None
        self._old_y = None
        self._dir_count = 0
        self._dir_x = None
        self._dir_y = None
        self._old_direction = None
        self._speed = speed
        self.reset()
:param screen: The Screen being used for the Scene.
:param renderer_dict: A dictionary of Renderers to use for displaying
the Sprite.
:param path: The Path for the Sprite to follow.
:param colour: The colour to use to render the Sprite.
:param clear: Whether to clear out old images or leave a trail.
:param speed: The refresh rate in frames between updates.

Note that a speed of 1 will force the Screen to redraw the Effect every frame update, while a value
of 0 will redraw on demand - i.e. will redraw every time that an update is required by another Effect.

Also see the common keyword arguments in :py:obj:`.Effect`.
asciimatics/effects.py