こんにちは。ヤマヤタケシです。
昨日は飲みに行っちゃったので途切れてしまいました。
今日は、まっすぐに帰宅からのだらっとしてからの、東北きりたんプロジェクトを続けます。
上下に動けるようになりましたが、今日は左右の動きをつけたい!
というわけで、作業のメモを公開!
左右の移動を操作したい。
ボタンを表示するか。
いや、出さずになんとかならないか?
画面全体を適当にタップさせたい。
お、タップすると矢印がふわっとだすとかいいかも。
邪魔じゃないし、なんとなくわかる。
キャラの左右に反転。SpriteRenderer.flipXにtrueで反転できた。
キャラはそれでいいけど、炎は座標をいじっているからスケールのXを-1にすることにした。
エンジンパワーにX成分を追加。
なんか、キャラの早すぎる。
早すぎるとキャラがよく見えないし、難しくなっちゃう。
最大速度の設定が physics2dsettings -> Max Translation Speed があったので設定。
うーん、いまいち。
やっぱ急に速度が上がらなくなる感じが気持ち悪い。
やっぱ、空気抵抗を計算するか。
physics2dsettingsに設定ないのかな?うーんなさそう。
自分で計算しよう。
空気抵抗の力はは面積に比例して、速度の二乗に比例するらしいので素直にそんな感じの式を作る。
二乗するからプラスになってしまうから符号の判定が必要か・・・。
Vector2 CalcAirFriction() { var v = rigidBody.velocity; var x = v.x * v.x * AirFriction * ( v.x < 0.0f ? -1.0f : 1.0f); var y = v.y * v.y * AirFriction * ( v.y < 0.0f ? -1.0f : 1.0f); return new Vector2(-x, -y); }
おぉ、気持ちいい。
さて、今日はここまで!
ブログの記事にするのも含めて2時間くらいかかった・・。
* DONE 左右に移動 * DONE 矢印を表示 * DONE 空気抵抗を計算 * TODO html5で出力:Unityとかのロゴは消せるのか調査? * TODO ゲームオーバーを作成 * TODO 落ちたらゲームオーバー * TODO ずんだでクリア * TODO 枝豆で死亡 * TODO ライフを3 * TODO ライフ0でゲームオーバー * TODO タイムアタック追加 * TODO html5で出力 * TODO グーグルアナリティクスを埋める * TODO WEBに公開
そんじゃまた。