Quote: "It could be because you were using an animated sprite.
SetSpriteShape() does not create a unique shape for each frame."
True, however when you use the correct order of the commands, you can definitely set a correct polygon shape to a sprite with an alpha channel transparency. Animated sprites rarely really change their actual size anyway. You'd need to set up the animation stuff before setting the shape. Position doesn't matter, nor does scale from what I've found, although it is probably good practice to set up sprite to the correct size before either way.
LoadImage(3,"player_anim.png")
CreateSprite(3,3)
SetSpriteDepth(3,depth)
// set up sprite data
SetSpriteAnimation ( 3, 43, 47, 5 ) // ID , width , height and a total of 5 frames
// play the sprite
PlaySprite ( 3, fps, loop, framestart, frameend) // which SpriteID, fps, loop, laatste twee is van frame tot frame
SetSpriteShape(3,3) // ID , shape type of 0=no shape, 1=circle, 2=box, 3=polygon
SetSpritePhysicsOn (3,1)