code: public static SpriteAnimated loadSpriteAnimated(ImageBuffer surface, int horizontalFrames, int verticalFrames)
      {
          return new SpriteAnimatedImpl(surface, horizontalFrames, verticalFrames);
      }
docs: Load an animated sprite, giving horizontal and vertical frames (sharing the same surface). It may be useful in
  case of multiple animated sprites.
  <p>
  {@link SpriteAnimated#load()} must not be called as surface has already been loaded.
  </p>
  
  @param surface The surface reference (must not be <code>null</code>).
  @param horizontalFrames The number of horizontal frames (must be strictly positive).
  @param verticalFrames The number of vertical frames (must be strictly positive).
  @return The loaded animated sprite.
  @throws LionEngineException If arguments are invalid.