//#kaisou
[[Tonyu基礎練習]] - [[練習:数学と物理とゲーム]] - ''オブジェクトの移動方向''
x=x+vx; という表現があります。
これは、「現在の場所からvxだけ移動した場所」を
x(現在の場所)に代入しています。つまりは、元の場所から、新たに距離vx分だけすすんだことになります。
ここで、vxは正(+)であるか、または負(-)であるかによって、移動する方向がかわります。下の例を見てください。
&ref(rightleft.png);&br;
vx:+ 右移動 vx:- 左移動&br;
では、vxが0の時はどうなっているのでしょうか?vxが0の時とは新たに移動した距離が0、すなわち止まっている状態を表します。止まっている状態ではオブジェクトがどちらに向いているのかは定かではありません。
&ref(rightleftmiddle.png);&br;
vx:+ 右移動 vx=0 vx:- 左移動&br;
**移動方向に応じて向きを変える
[[変数f>SpriteChar.f]]を用いると、キャラクタの左右を反転させることが
できます。これを応用して、次のようにすると綺麗に移動してくれます。
//prog
if (vx>0) f=1; //vxが0以上の時に右向き
else if (vx<0) f=0; //vxが0以下の時に左向き
//その他の条件では向きは変わらない
//#navbar
[[練習:数学と物理とゲーム]] ← ''オブジェクトの移動方向'' → [[オブジェクトの移動方向(2)]]