I used the characheter with resolution 19x20..
I created an animation of the character wich launch an rock and therefore i have put the dimension for 80x20.
When I want the character makes the animation, I insert:
SetcharcaterIdle (ROG, view, delay)
But if the charcater was found in coordinates x,y (15,30)
when the animation start he moves to every sprite... (i.e: (14.30) - (13,30) )
How do I do?
I'm not sure I understand the problem ... Does the character actually move, or does he just appear to, because of the contents of the frame? Are all the frames the same size?
What version of AGS are you using? If it's 2.7 or higher, you should be using cRog.SetIdleView(view, delay), as SetCharacterIdle is obsolete. (And if it's earlier than 2.7, a lot the other answers you've been getting lately probably won't work .....)
However, in this case you might be better using Character.Animate instead of the Idle View. You can also use the Character.LockViewAligned (http://www.adventuregamestudio.co.uk/manual/Character.LockViewAligned.htm) function, which might solve your problem (if I understood it correctly) - e.g. left-aligning the view will keep ROG anchored at (15, 30) as the rock travels right avoiding the 'spread' effect which I think is your problem. If it's not, can you post again to clarify what the problem IS?
Ok.
You have understand the problem and you have, partly, resolved it.
Why the animation don't stop?
I want that the animation take place only one time then the charchater return to view 1.
How i do?
Tanks for the great help!
What are you using for the 'repeat' parameter in Character.Animate? If you set it to eOnce it should animate once then stop. To return to the normal view, just call Character.UnlockView(), e.g. (taken from the manual):
character[EGO].LockViewAligned(12, 1, eAlignLeft);
character[EGO].Animate(1, 5, eOnce, eBlock, eForwards);
character[EGO].UnlockView();