2014年11月07日

ゲームのアップグレード (14) | UI CANVAS 導入!完結編!

じゃ今回は完結編!
これまでの血と汗と涙の結晶をご覧あれ!!

エディタの制作用処理なんで、アイテムのストック減ってないけどね。

さて、前回から、そんなには変わってないんですが、諸々調整して、こんな感じになりました!!
装備画面のミサイル発射数Upのパワーアップのトグル処理とか、Backボタンの追加とか、装備画面の残アイテム数とか、ミサイルプレファブの追加、装備したパワーアップによってのミサイルのモデルとエフェクトの差し替えとか、ミサイルが隕石に当たった時の、ミサイルエフェクトの奇麗な消滅処理とか、細々した物がいっぱい改善されてるんですが、わかんないですよねww

全部を詳しく書いてもしょうがないんで、ちょろっと、詰まった所だけ書いておきますね。


Toggleコンポーネントの注意点
さて、トグル...ここで話すのは、トグルグループのことですね。たぶん。
このゲームで言うと、ミサイルの発射数のパワーアップ。
3種類あるけど、装備出来るのはどれか一個だけにしたい。って場合ですね。
これ、多分ちゃんとしたやり方があると思うんだけど、特に解説もなかったんで、自分で書いたスクリプトで処理してます。

Screen Shot 2014-11-06 at 12.39.30 PM.png
この OnClickInventory が、装備画面でボタンが押された時用にフックアップされた処理。
ここで、toogleMissileCountPowerup ってのをよんでるんですが....
Screen Shot 2014-11-06 at 1.16.42 PM.png
残り2つのトグルボタンの isOn を false にしてるんですが、Unity で設定する OnClick で呼ばれるメソッドは、ホントのクリックでコールされるんじゃなく、isOn が変更された時に呼ばれる様になってるみたい。
なんで、ここで isOn を false に設定してたんだけど、その変更毎に前の OnClickInventory が呼ばれて、なんか変な事になって(96行目が無かった。)はまってたんですよね。

なんで、IsOn をスクリプトで変更する時は、ちょっと注意ですな。


ParticlleSystem で発生したパーティクルのフェードアウト
これも、意外と大変だったんですよね。
結論としては、パーティルで使ってる、Animator のカラーアニメーションで設定してある色のテーブルを変更して、パーティクルをフェードアウトさせました。

これがミサイル側のコリジョン発生後の処理。
Screen Shot 2014-11-06 at 12.35.57 PM.png
ミサイルのメッシュを隠して(62行目〜)、パーティクルの発生を止めて(65行目〜)、DestroySequenceのコルーチンを発生(68行目〜)。
コルーチン内で経過時間をカウントして、(89行目〜95行目)で、パーティクルのカラーアニメーションのアルファ値をフェードアウトして消滅。

これで、突然パッと消えるんじゃなくて、スムーズな消滅になりましたよ。

ちょっと手間が掛かったのはこの2点くらいかな?
じゃ、これで完結ね!!

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


なんか高いけど気になるいいタイトルだな〜
posted by やまけん at 12:52| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: