マスコットアプリ文化祭2017に勢いで参加する(3)【動画付き】 #東北きりたん

こんにちは。ヤマヤタケシです。
昨日は飲みに行っちゃったので途切れてしまいました。
今日は、まっすぐに帰宅からのだらっとしてからの、東北きりたんプロジェクトを続けます。
上下に動けるようになりましたが、今日は左右の動きをつけたい!

というわけで、作業のメモを公開!

左右の移動を操作したい。
ボタンを表示するか。
いや、出さずになんとかならないか?
画面全体を適当にタップさせたい。
お、タップすると矢印がふわっとだすとかいいかも。
邪魔じゃないし、なんとなくわかる。
キャラの左右に反転。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に公開

そんじゃまた。