ブルーノのC#プログラミング & unity勉強日記

プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。その他趣味の雑記もしていきたいです

No.002 進捗状況05

f:id:covory10101101276:20180902174030j:plain

ヒリアー湖 - オーストラリア -

 

みなさんこんにちは🌚

マリオパーティ8に毎回全力で挑むも最後のスターボーナスがでかすぎて辛いブルーノです。こんなん運ゲーやんと思いつつもついやってしまうんですよねー。

さて今回は、プレイヤー制御をしていきます。大きく考えてプレイヤー制御は

・UIの配置

・機能実装

の二つと考えています。UIの配置はまず基本の移動を実装することから始め、うまくいったら別の要素も実装していこうと思っています。スマホゲーはコンシューマーやアーケードと異なりボタンが著しく少ないのでどうしても画面に対応させる機能を追加しなければならないです。このワンクッションだけでも僕には大仕事なので今回分けることにしました😰

しかし調べてみるとスタンダードアセットにどうやら便利なものがあるようです。

f:id:covory10101101276:20180902182117p:plain 

[Assets]→[Import Package]→[CrossPlatformImput]を選択

f:id:covory10101101276:20180902224350p:plain

Standard Assetsの中に新たにCrossPlatformImputというフォルダが追加されています。

f:id:covory10101101276:20180902225143p:plain

中のPrefabにあるMoblieSingleStickControlをシーンにおき、Canvasを追加すると

f:id:covory10101101276:20180902225326p:plain

f:id:covory10101101276:20180902225448p:plain

画面に十字キーとジャンプボタンのUIが設置されました!

こんな簡単な手順でモバイル向けのコントローラが配置できるなんていい時代ですね。。。。。。。。。。

あれ?

一向に動かない。。。。インポートしたばかりのスクリプトの中身弄ってない状態でも、あらゆるサイトに載っているスクリプトをひとつずつ試してはReimportしても直らない。。。。

探ること1週間。。。。

わかりました。これが原因でした

f:id:covory10101101276:20180907065126p:plain

いつか何かの拍子に入れていたCanvasが入力を遮ってしまっていたようです。こんな簡単なことだったのか。。。じゃあGUIとこのコントローラを共存させるにはどうすれば良いんだ.....?とりあえず今は実装できたのでよしとします

そしてUIにいろいろ手を加えて...

f:id:covory10101101276:20180908183408p:plain

こんな感じにしてみました。十字キーの方は画像を差し替えただけで機能はあまり弄っていません。インスペクターから可動範囲を後ろの白いシルエット画像あたりまで変えた程度でしょうか。ただこの時に画像をただトランスフォームで移動させるだけではタッチ範囲を変えたことにはならないことに注意しましょう。CrossPlatformのバーチャルパッドはアンカーの座標を中心としているようなのでこちらも座標を変えてあげる必要がありました。

f:id:covory10101101276:20180908183815p:plain

真ん中のリボンがアンカー

 

そしてもう一方の時計のマークは最初のジャンプボタンなのですが、仕様を大きく変更しようと思いこのアイコンにしました。ここまで作りながら考えていたのですが、今回のゲームは時間を操るアクションにしようと思いました。というわけでこのボタンは高速化のボタンにしようと思います。専用の機能をこれからどんどん足していくひつようがありそうです。

 

ずいぶん久しぶりの更新ですね。いろいろやらなければいけないことが多くて忙しいですがもっとペースをあげていかないと....