'sprite draws a sprite (a second small image) onto the current layer.
The sprite can be loaded directly from a supported image file like a
gif, jpg, bmp, or png, or loaded as a surface or SCV image.
pos - the (x,y) position of the upper left hand corner of the sprite
scale - a scale multiplier as a float value. E.g. 1.1 makes the sprite 10% bigger
rot = a rotation angle in degrees
alpha = an alpha value 255=opaque 0=transparent.'

def sprite(self, img, pos=(0, 0), scale=1.0, rot=0.0, alpha=255):

    if (not pg.display.get_init()):
        pg.display.init()
    if (img.__class__.__name__ == 'str'):
        image = pg.image.load(img, 'RGB')
    elif (img.__class__.__name__ == 'Image'):
        image = img.getPGSurface()
    else:
        image = img
    image = image.convert(self._mSurface)
    if (rot != 0.0):
        image = pg.transform.rotate(image, rot)
    if (scale != 1.0):
        image = pg.transform.scale(image, (int((image.get_width() * scale)), int((image.get_height() * scale))))
    pixels_alpha = pg.surfarray.pixels_alpha(image)
    pixels_alpha[...] = (pixels_alpha * (alpha / 255.0)).astype(np.uint8)
    del pixels_alpha
    self._mSurface.blit(image, pos)
