今回は加速度センサーで計測された加速度を、ボールに伝える部分を作ってみようと思います。コード自体は簡単なので、まずはサラサラと写してみてください。domdomViewController.h<クリックで拡大>2種類×2個の変数と、メソッドを宣言します。ボールを動かすメソッド-(void)moveBall;ここで少しだけ解説をしておきますと、アニメーションの中で自然にモノを動かすためのやり方。3つの変数を使います。ボールが転がっていく場合を考えてみましょうか。0;こんな感じですね。0,0の位置にいる、ということです。わかりにくい場合は後ろにメートルとか付けてみてください。このボールを100,100の位置まで転がしていくとしましょうか。メートルを付けて考えると、校庭を対角線上に転がっていったくらいになります。100;これでOKです。コレを1コマでアニメにすると、瞬間移動になってしまいます。0から100まで動いてしまうわけですから。何コマかにわけてちょっとずつ動かしていきます。速度はvx,vyを使って書くことにしましょう。velocityのことです。vy;こんな感じですね。1コマあたりにX方向に5、Y方向に5進むよってことです。0から100まで動かすのであれば20コマ必要になります。速度が上がればコマ数は少なくなるし、速度が下がればより多くコマが必要になります。コレで良さそうな気もするのですが、実はコレではスムーズなアニメーションには足りません。何が足りないかって言うと、速度が常に一定なんです。スタートダッシュからゴールまでずっと同じスピード。アニメで見るとボールがベルトコンベアに乗って運ばれているような感じになります。最後の要素が加速度になります。ax,ayと書きましょうか。accelerationですし。このプログラムではaccelX,accelYと書いてしまいましたが。加速度は速度を増やしたり減らしたりします。vxをいきなり5にするのではなく、vxに1ずつ足していくようなイメージです。その「1ずつ」がaxに格納しておく数字です。逆に加速度分を引いていけば速度は遅くなって最終的にはマイナス(逆方向)になります。アクセルとブレーキです。一定に踏んでいると一定に速度を削っていきます。慣れないとこのvx,vyとax,ayの関係がピンとこないんです。慣れていってください。domdomViewController.m<クリックで拡大>viewDidLoadの中で各数値の初期化をしちゃいましょう。posY);domdomViewController.m<クリックで拡大>加速度センサーの中でmoveBallというメソッドを実行するよう設定します。domdomViewController.m<クリックで拡大>moveBallメソッドの中身です。・速度に加速度をプラス・位置に速度をプラス・CGPointMakeでボールの中心座標を修正こういう流れで処理すればOKです。posX,posYの段階では、単に「ここの位置に次は動くのよ」という計算上の数字を格納しただけですので、最後にCGPointMakeで実際のボールの位置をずらしておくことを忘れないでください。!では「ビルドして進行」してみましょう!ほーら。ボールがするするとー。画面から出ていったー!いえいえいえいえ。出ていって正解なんです。止まれない子なんです。「壁で跳ね返る」という部分を入れていませんので、ボールは指示された通り「加速度」と「速度」から「位置」を割り出してどこまでも動いていくんです。今回は「何秒ボールを画面から逃さないでいられるかゲーム」ということで。直情型のボールと秋の夜長をお楽しみください。『偶然にも、不倫相手の妻に会ってしまった女性たちの告白』(Yahoo!生活系ニュースランキングより)2月17日(月)本日は愛知遠征。いつも泊まっているホテルに着くと、フロントで紙を渡されました。体調不良を起こしていないかどうかを申告するためのものらしく。1熱があるか2咳が出てるか3呼吸が苦しいかこんな感じの設問に対して、当てはまる症状があれば「チェック」を付けてね、とのこと。ワタシは従来冬場は咳が出やすく、今年もコホコホ言っているので、何の気なしに「2」にチェックを付けて出したのですが。笑顔のまま凍りつくフロントのお姉さん(おそらく新人さん)。