The way I have my movement engine set up is that rather than having 4 separate sprites for my different directions, I have 1 sprite that holds the animations (in my debugging example, I have 3 subimages per animation, resulting in 12 total subimages [0-11]) and through code, I check the frames of the animation against a facing variable (that can be 0, 1, 2, or 3) multiplied by the number of subimages in the animation (in This case 3). here is the code to give you a better idea:
sprite_index=spr_run;
if (image_index < (2 + facing * 3) && image_index >= facing * 3)
{
image_index+=1;
}
else
{
image_index=facing*3;
}
I was just wondering if this, combined with externally loading the sprite would be more efficient that having 4 separate sprites do the job.