[Unity]落ちゲーをPCからAndroidで動かせるようにする

ここまで作ってきた落ちゲーの動作をパソコン上で正しく確認できました。

最後にスマホで動かせるように設定していきます。パソコンは矢印キーで操作することが出来ますがスマホ上には反映されないのである程度修正する必要があります。

スポンサーリンク

Androidで操作出来るように修正する

Androidには左右キーがないので、ゲームの画面上に左右ボタンを作成します。

1.ボタンを作成する

UIオブジェクトに用意されているボタンを使います。

左右どちらからでも良いんですが、まずは右のボタンから作ることにします。

どちらか作っちゃえば、もう片方はコピーすれば良いので。

ヒエラルキーウィンドウから「Create」→「UI」→「Button」を選択します。

名前は、右ボタンと分かるように「Rbutton」にします。

2.ボタンの画像と座標を設定する

体力ゲージの時と同じように、プロジェクトウィンドウから右ボタンの画像をSource Imageにドラッグ&ドロップします。

次に、Rbuttonを選択してアンカーを「右下」に変更します。理由は、下に配置しておいたほうが指が届きやすく操作しやすいと思ったからです。

ボタンのポジションは「-100,137,0」にして、横幅と高さは「150,150」にしました。

右ボタンを配置した落ちゲー

プレイ画面はこんな感じです。あまり大きくしすぎると降ってくるボールと被ってしまうのでこれくらいのサイズが丁度いいですね。

次に、ボタンのテキストを削除します。この状態だと画像の中に「Button」と書かれたテキストが表示されたままになります。必要ないので消しておきます。

ヒエラルキーウィンドウのRbuttonの左にある矢印をクリックすると「Text」が表示されるので右クリックから消去します。

ボタンのテキストを削除する方法

3.右ボタンをコピーして左ボタンを作る

今作ったボタンをコピーして左ボタンを作ります。

ヒエラルキーウィンドウから「Rbutton」を右クリックして「Duplicate」を選択。

「Rbutton(1)」が作成されるので、左ボタンと分かるように「Lbutton」にします。

あとはさっきの流れと同じようにボタンの位置と画像を設定すればOKです。

4.ボタンを押したときにキャラクターを移動させる

パソコン上では矢印キーが押された時にキャラクターが左右に移動していましたが、スマホ上ではボタンを押したときに動くようにします。

ボタンが押されたときに、キャラクターを動かすメソッドを呼び出すようにすれば良いですね。

ですから、キャラクターの動きが書かれているスクリプトを修正しなければなりません。といってもちょっとコードを付け足すだけで良いんですけどね。

ボタンが押されたときにキャラクターを動かすスクリプト

こんな感じで、それぞれのボタンが押された時のメソッドを用意します。publicをつけ忘れないように気をつけます。

各ボタンにこのメソッドを登録します。まずは右ボタンから。

Rbuttonを選択してインスペクターのButton(Script)内の「On Click()」欄の+ボタンをクリック。

None(Object)にヒエラルキーウィンドウから「player」をドラッグ&ドロップします。キャラクターのオブジェクトの事ですね。

「No Function」というドロップダウンリストを開いて「CharaController」→「RbuttonDown()」を選択します。

これで、キャラクターにアタッチされているスクリプトのメソッドをボタンに登録出来ました。

左ボタンも同じように登録します。

ここまで出来たらゲームを実行して動作確認します。ボタンを押すとキャラクターが左右に移動するはずです。

5.Androidでビルドしてゲームを実行してみる

Android向けのビルド方法については、過去の記事で説明していますので参考にしてください。

ビルドが無事に成功して実機で遊んでみましたが、完全にスマホを横向きにして遊ぶゲームですね。

縦に持ったままだと横幅がとても狭くなってしまうので、キャラクターの移動するスペースが小さくなってしまいます。

一応どちらでも遊べるようになっていますが、横向きで遊ぶことをオススメします。

この手のアクション系ゲームは基本的に横向きですよね!横スクロールゲームをわざわざスマホを縦に持って遊んでる人ってあまりいないでしょうし。

もう1つ気になった点として、ボールが降ってくる座標ですね。

両サイドにボタンを配置しているのでそこに、ボールが降ってこないようにすると良いかもしれません。ボールとボタンが被っちゃうと違和感あるし。

とりあえず、ゲームとして形になったと思います。

このゲームを本格的にするなら、ゲームオーバー画面を用意したり、ダメージを受けた時にキャラクターを点滅させる等、付け加えようとすればたくさんありますね。

このような処理を加味した上で、次はもっと本格的なゲームを作りたいと思います。