2015年03月12日

v1.1 ゲームのアップデート (7) | ステージセレクトの追加 part2

リリースできました!!
iOS デバイスの人は、上のアイコンからダウンロードしてみてね!!
基本無料。ゲーム内課金有り(無料で十分遊べます)

では、今回もステージセレクト画面の続きですね。


スタートレベル選択のボタン検出を
では実際の処理部分。
まあ、前のパワーアップ画面と同じなんで、コピペみたいなもんで簡単でしょ!って思ってたんですが...
以外と、微妙な仕様の違いで、思った動きを実現するのにちょっとトリックが必要でした!
う〜ん。予想外!!

さて、その仕様の違いですが、パワーアップと違って、有効なボタンのうち、どれか一つが必ず選ばれてないと駄目なんですよね。
Unity の UI CANVAS の Button コンポーネントを使うととても便利なんですが、この仕様の実現が結構面倒。
パワーアップ画面では、別に全部 OFF でも問題無かったんで気にならなかったみたいですw

え〜っと、前に書いた様に、Button でボタン入力を検出すると、メソッドがコールされる様になってます。
そのメソッド内の処理の一部がこちら。
Screen Shot 2015-03-11 at 12.43.55 AM.png
で、ここで呼んでる toggleSelectButtons の中身が、こんな感じになってます。
Screen Shot 2015-03-11 at 12.43.18 AM.png
さて、問題のトリックですが、何故必要かと言うと、toggleSelectButtons の中の 127行目と 130行目で、ボタンの isOn を操作してる部分なんですが、これに値を設定すると、ボタン入力があったと思って、最初の OnClickInventory メソッドが呼び出されちゃうんですよねww

なんで、ButtonFirst っていうフラグを作って、Update() メソッドで毎フレームクリア。
最初のボタン入力があった時だけ toggleSelectButtons の内部処理をする様にフラグ管理。
で、その後心置き無く isOn プロパティを操作して、ボタンのステータスを変更して、どれか一つだけボタンが選ばれてる状態にします。
これで、すでに選択されてるボタンをもう一度押されてもOFFにならず、ON状態をキープ出来る処理になりました!


レベルスキップの実装
スタートレベルの選択はできたんで、レベルを飛ばす処理ですね。
ちょっと処理の順番を前後したり、ちょっとしたスクリプトの調整は必要だったんですが、基本的には、実際のレベルアップ時の処理を、開始レベルまでループで繰り返してるだけです。
なんで、書く事ってないんですよね....

と言う事で、実装の流れを動画にした物を置くだけでお茶を濁そうと思います。

さて、これで v1.1 に向けたアップデートの2つが済んだかな?
次から、残ったもう一つの更新、代替操作方法の追加をしてみたいと思いますね。

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

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

メールアドレス:

ホームページアドレス:

コメント: