私の方法ではポジションを動かしたと同時にアニメーションを実行させています。
#module
//あにもじ(おまけ)
//p1 アニメーション文字列データ
//p2 カウントID
#defcfunc animoji str p1, int p2
if length(cc)<=99:dim cc,100
s1=p1
notesel s1
noteget s2,cc(p2)
cc(p2)+
if cc(p2)>=notemax:cc(p2)=0
return s2
#global
//アニメーション文字
ani(0)={"
(・ω・´)
(ω・´ )
(・´ )
( )
( )
( `)
( `・)
( `・ω)
(`・ω・)
"}
ani(1)={"
(`・ω・)
( `・ω)
( `・)
( `)
( )
( )
(・´ )
(ω・´ )
(・ω・´)
"}
ani(2)={"
( ・ω・ )
( . . )
( )
( )
( ' ' )
"}
x = 20
y = 100
speed = 5
//メイン
*mainloop
redraw 0
color 255,255,255
boxf
color
lox = x
loy = y
pos x,y
getkey key,37
if key:mes animoji(ani(0),0):x-speed
if (lox=x)&(loy=y):getkey key,38:else:key=0
if key:mes animoji(ani(2),0):y-speed
if (lox=x)&(loy=y):getkey key,39:else:key=0
if key:mes animoji(ani(1),0):x+speed
if (lox=x)&(loy=y):getkey key,40:else:key=0
if key:mes animoji(ani(2),0):y+speed
if (lox=x)&(loy=y):mes "( ・ω・ )"
redraw 1
wait 5
goto *mainloop