トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

コンポーネントプログラミング(2003-12-10)

3章の演習について

  表示位置の変更

  • 画像の表示位置は変数sXとsYが記憶している。
  • 画像の表示位置はsXとsYに移動量と方向を記憶しているdXとdYを加算して決めている。
  • キーを押したときに変数dXとdYの符号と値を変化させればよい。

右矢印(→)を押したときを押したときを考える。

  • もし、dX > 0 ならば右へ移動しているので符号はそのまま(+のまま)。(dX = dX)
  • もし、dX < 0 ならば左へ移動しているので符号を反転する(+に変更)。(dX = -dX)

左矢印(←)を押したときを押したときを考える。

  • もし、dX > 0 ならば右へ移動しているので符号を反転する(−に変更)。(dX = -dX)
  • もし、dX < 0 ならば左へ移動しているので符号はそのまま(−のまま)。(dX = dX)

以上をまとめると次のようになる。
キー dX > 0(dXは+) dX < 0(dXはー) 符号の状態 変更の式
dX = dX(+のまま) dX = -dX(−を+に変更) すべて+に dX = Abs(dX)
dX = -dX(−に変更) dX = dX(−のまま) すべて−に dX = -Abs(dX)
関数Abs(x)は引数xの値の絶対値が得られる。dYについても同様に考えればよい。

なお、sX,sY,dX,dYはプログラム全体から利用できるように宣言する位置をプログラム冒頭部に移動する。

 加速と減速

  • 加速と減速は画像の移動量によって決めている。
  • 移動量を記憶している変数dXとdYの値の大きさを増減すればよい

x軸方向について考える。

  • もし、dX > 0ならdXを増加させる(dX = dX + 10)
  • もし、dX < 0ならdXを減少させる(dX = dX - 10)

このことからif文を使って移動量を記憶している変数値の正負を調べ、その値を増減させればよい。

参考 変数地の符号を調べる関数にSgnがある。これを用いることも出来る。

[コンポーネントプログラミング]