1. ## Allegro sprite animation?

Ok so this is the image which contains all possible movements:http://dc251.4shared.com/img/7j1ytD2...rite-anim2.bmp
And this is the code that moves the sprite:
Code:
```if(key [KEY_LEFT]) x-=1 ; //walks left
if((key [KEY_LEFT]) && (key [KEY_R])) x-=2; //runs left
if(key [KEY_RIGHT]) x+=1; // walks right
if((key [KEY_RIGHT]) && (key [KEY_R])) x+=2; //runs right
if(key [KEY_DOWN]) y+=1; //walks down
if((key [KEY_DOWN]) && (key [KEY_R])) y+=2; //runs down
if(key [KEY_UP]) y-=1; // walk up
if((key [KEY_UP]) && (key [KEY_R])) y-=2; //runs up```

2. Have you read this: http://www.loomsoft.net/resources/al...ut_lesson7.htm

I will have a look myself at how to do it meanwhile.

EDIT:
I think you need to have all the possible movements in separate frames

3. I'm assuming that you can blit out of a portion of the bitmap?

When you load your character bitmap, set up a struct something like this
Code:
```#define NUM_DIRECTIONS 4
#define NUM_POSES 4
struct character_anim {
int x, y, w, h;
} anim[NUM_DIRECTIONS][NUM_POSES];```
You'll be repeating the centre pose, by drawing 1, 2, 3, 2

When you're actually moving, add this
Code:
```if((key [KEY_LEFT]) && (key [KEY_R])) {
pose = ( pose + 1 ) % NUM_POSES;
dirn = 0;
x-=2;
}```
When you've moved, simply blit out from anim[dirn][pose]