2014年09月27日

ゲーム改善の本番 (9) | ユーザーに伝える情報を増やそう(4)

さて、レーザーサイトを追加する第2回目です。
今回こそは完成するでしょ〜か?

前回 レーザーサイトのクラスとアニメーションまで出来たんで、今回は実装を進めて行きましょうかね。
まずは、ミサイル発射タイミングの変更からね。


制作用の UNITY_EDITOR 側の変更
さて、まず制作に欠かせない、UNITY_EDITOR 側のマウス入力から変更していきましょうかね。
ただ、今後も見据えて、まず入力状態を保存する、TouchStatus クラスというのを作りました。
ここに、入力待ち&タッチ -> ホールド -> リリース の各状態と、位置を保存しておこうと思いますね。
Screen Shot 2014-09-24 at 3.30.14 PM.png

GameManager クラスの中ね
さて入力判定、いままでは、Input.GetMouseButtonDown だけで判定してたんですが、これじゃ多分だめですよね。
どうしようかな〜。
あ〜、マウス入力に関しては、あんまり情報まとめてくれてないみたいですねぇ〜。
なんで、ちょっと自分で処理するしかないのかな?ひとまずそうしておきましょうかね。
で、出来た入力判定部分のスクリプトはこれ。
Screen Shot 2014-09-24 at 4.21.52 PM.png
これも GameManager の checkInput() の中ね
もうなんかそのまんまですいません。
普通に switch 文で振り分けて、各状態の時に、Input.GetMouseButtonDown と Input.GetMouseButtonUp と  Input.GetMouseButton を使って、ステータスの遷移を管理。必要な時には、マウス位置も取って来てます。
さらに、マウスのホールドが終わった時に、bTrigger としてフラグを立ててます。
(前は bDown だったんですが、名前と役割が一致しないんで変えました。)

このへんの変更に合わせて、実装側、ミサイルの発射ですが、そっちもこんな風に変わってます。
Screen Shot 2014-09-24 at 4.08.46 PM.png
タッチ状態が、TOUCH_END の時だけ、ミサイル発射をチェック。
foreach で回してる mTouch 配列全部実行する必要は UNITY_EDITOR 側では無いんだけど、デバイス側での実行を見越してこんな形になってるの。

さて、これで実行ですが.....あ、しまった!駄目ですねこれじゃ。
mTouch で配列だけ用意したんだけど、中身が無かった...
なんで、Start() の中で、実体を用意しますね。
Screen Shot 2014-09-24 at 4.17.50 PM.png
こんな感じで

これでどうかなぁ〜....大丈夫!動いてるみたいです。
マウスのホールド状態は動画にしても見えないんで、特に見せませんね。でも、ちゃんと動いてる YO!


じゃ UNITY_IOS のデバイス側の実装ね
でわ、iOS デバイスで実行してる時の実装です。
エディターの時のコードを流用して、こんな感じになりました!
Screen Shot 2014-09-24 at 5.29.45 PM.png
基本は同じ状態遷移を使ってるんですが、状態の判定を、 Touch.phase のプロパティで判断しております。
で、タッチ状態の配列は、TOUCH_POINT_MAX 個持ってるんですが、実際の値は5個。これは、前にタッチを入力を検証した時に、5個までしか帰って来てなかったからこの値になってます。
で、Touch.fingerId というのがあるんで、これをそのまま配列のインデックスとして使って混乱をさける感じにしてますよ。
(実際必要かわかんないけど、一応ね。)

ただ、このままで不安な所もあるんで、もしタッチが帰ってこなくて飛んじゃったり、とか。
なんで、処理したかどうかのフラグとして、bProcessed ってのを持っておいて、254行目〜268行目で、処理してない配列に関して、状態によって、次の状態に遷移する様にしてます。
Screen Shot 2014-09-24 at 5.36.58 PM.png

ま、これもホントは必要ない気もするんだけど、いちおうね!

これで実行してみると....オッケー!無事、タッチのリリースで動く様になってる様です!

じゃ、ここから、タッチをホールドしてる時の、レーザーサイト処理をいれましょうかね!
と思ったんだけど、なんかいっぱい説明しすぎて疲れたわ...

なんで、また次回に続くよん。

        にほんブログ村 ゲームブログ×PlayNCBlogへ
 初めてみました。よかったらクリックお願いね ♪

デカいのがあってもいいよね

posted by やまけん at 10:43| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: