Oki firstly a sprite is basically a picture (or a series or pictures to animate) with a invisible area so that it may be any shape you want. In Sonic, Sonic himself is a sprite, each enemy is a sprite, each power up is a sprite. The background is made of tiles, but COULD be made of one, HUG sprite. The score system graphics are sprites... basically almost everything.
You can make a sprite in any paint package (Window's built in "paint" will do even) but I strongly recommend Paint Shop Pro, which is cheap and excellent. Whats more there's a free 30 day trial on almost every PC magazine you'll ever buy (PCFormat has it every month under essentials) Or you can get it at
http://www.paintshoppro.com/ .
Once you have a paint package, make an image any size you want, for example 50x50 pixels. for a start, draw a red circle in the middle of the image, and colour the outside of it in pure black. Then save the image as "sprite.bmp" in a directory "c:\sprites\"
in Dark Basic Pro, type the following
LOAD IMAGE "c:\sprites\sprite.bmp",1,1
x=320: y=240
DO
SPRITE 1,x,y,1
IF leftkey()=1 then x=x-1
IF rightkey()=1 then x=x+1
IF upkey()=1 then y=y-1
IF downkey()=1 then y=y+1
LOOP
when you run it you'll see your red circle approximately in the middle of the screen. Notice how the black area is completely ignored, and you just see the circle. Instead of the red circle you could have had a coloured space ship, or mario or sonic
When you press the arrow keys, your sprite will move around the screen. Hopefully by looking at the simple program above you'll be able to see whats going on, the screen is essentially split into a x and y axis, like in a mathematical graph. you plot the point you want your sprite to be displayed, and it draws it there for you
The line "SPRITE 1,x,y,1" essentially draws a sprite, labels it 1, positions it at points x, y and makes it look like image 1. You could add a second sprite like this.
LOAD IMAGE "c:\sprites\sprite.bmp",1,1
x=320: y=240
DO
SPRITE 1,x,y,1
SPRITE 2,x+100,y+100,1
IF leftkey()=1 then x=x-1
IF rightkey()=1 then x=x+1
IF upkey()=1 then y=y-1
IF downkey()=1 then y=y+1
LOOP
Each sprite you make must have a different number value. You can test for collisions between the sprites using the "sprite collision" command. Look through the help files for more detailed options, commands and help.
I hope that helps you get started
Before you try a scrolling platformer, attempt something with essentially no background, like SPACE INVADERS to practive with sprites. A Moving background with full collision is a whole load more complex
Cheers, Sam / Kangaroo2