- 四角い枠の中にボール
- フリックでこすると転がる
- ※ボールは
transform:translate()
で移動する
http://jsfiddle.net/ginpei/y7hZf/
- 初期処理
- 枠要素取得
- ボール要素取得
- ボール位置を初期化
- タッチ位置を初期化
- 枠で
touchmove
したら- ボールの位置を更新()
- ボール要素を移動
- ボールの位置を更新()
- タッチ位置を取得 (
event.touches[0].pageX
) - スライド方向を取得 (最後のタッチ位置と比較)
- スライドした方向へ移動したボール位置を記憶
- タッチ位置を記憶
- タッチ位置を取得 (
- 全然再利用出来ないよね
- 処理がバラバラ
- I/Oが固定
http://jsfiddle.net/ginpei/343ve/
- 再利用出来ない→オブジェクト化
- extendして複製できる
- 本当はprototypeに入れておくとなお良し
- 処理がバラバラ→オブジェクト化
this
で参照できる- 関係する処理と情報がひとまとめになった
- I/Oが固定→引数でもらう
- 初期処理でアレコレする
- 管理範囲が広い
- ユーザー操作、情報、表示
- ので、見づらい
- 枠とボールが密結合
- あの枠以外で、他の操作でボールを動かしたいとか
http://jsfiddle.net/ginpei/RPmbj/
- 管理範囲が広い→分割
- 全体管理
- 枠画面
- ボール画面
- ボール情報
- 枠とボールが密結合→分割
- [枠]での操作を[ボール情報]へ保存
- [ボール情報]での変更を[ボール画面]へ反映
_人人人_
> MVC <
 ̄Y^Y^Y ̄