【Unity】2Dシューティングを作ってみる話 #15
記事をご覧いただき、誠にありがとうございます。
どこにあるのか分からなくなると困るので、このオブジェクトの位置を0にします。
そしてGameManagerスクリプトを新規作成し、オブジェクトにアタッチします。
投稿主の無能です。
前回は、Androidデバイス向けに弾の発射ボタンを実装しました。
今回は、実装した発射ボタンが正常に動作するかを実際にビルドして確認したいと思います。
各プラットフォームでの動作を分ける
まず弾の発射ボタンの確認の前に、この発射ボタンはWindowsではスペースキーがあるので不要なものです。
ビルドの前に不要なものを表示しないようにしたいと思います。
このように各プラットフォームによって処理を変更することをプラットフォーム依存コンパイルと言うそうです。
プラットフォーム依存コンパイル - Unity Documentation
ではやっていきましょう。
GameManagerを作成する
プラットフォーム依存コンパイルはゲーム全体の事なので、ゲーム全体を監視するGameManagerを作成します。
空のオブジェクトを作成し、名前を「GameManager」にします。
空のオブジェクト「GameManager」を作成
GameManagerのpositionを0にする
GameManagerスクリプトを新規作成する
GameManagerスクリプトをGameManagerオブジェクトにアタッチする
では早速GameManagerスクリプトを開いて記述しましょう。
このようになります。
GameManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameManager : MonoBehaviour
{
[SerializeField] GameObject ShotButton; // 画面上の発射ボタン
void Start()
{
#if PLATFORM_STANDALONE_WIN
ShotButton.SetActive(false);
#endif
}
}
では見ていきます。
メンバ変数で画面上に配置したショットボタンを設定し、プラットフォーム依存コンパイルによりプラットフォーム毎にショットボタンをアクティブ・非アクティブにするようにしています。
各プラットフォームの設定の仕方はドキュメントを参照してください。
各プラットフォームでビルドして確認する
では実際にビルドして確認します。
以前ビルドした設定がそのまま残っているので、プラットフォームを選択してそのままビルドするだけになります。
加えてビルドの速度も初回より早くなっているので、初回時より待ち時間が少なくて済みます。
まずはWindowsでのビルドです。
ショットボタンが表示されなくなっています。
次にAndroidのビルドです。
こちらはショットボタンがあることと、ショットボタンが動作することを確認します。
もし前回のビルドしたアプリがインストールしてそのままだったら、アプリの更新をします。
ショットボタンに問題はありませんでしたが、よく見ると右側のEnemyGeneratorが表示されてしまっています。
これはEnemyGeneratorのSprite Rendererを非アクティブにし忘れていました。
EnemyGeneratorが前過ぎる場合は調整してください。
そしてもう一点忘れていたことがありました。
それはノッチの部分までゲーム画面が表示されていたことです。
ノッチというのは、Androidデバイスの上部にあるステータスバーのような部分です。
これはビルド設定で変更が可能です。
Resolution and PresentationのRender Outside Safe areaというところのチェックを外すと、デバイス毎のセーフエリアと呼ばれる部分は表示されなくなります。
無能のAndroidデバイスではノッチがセーフエリアに該当しますので、このチェックを外しました。
勿論アプリによっては表示させたい場合もあると思うので、この項目は任意です。
Resolution and Presentation > Render Outside Safe areaのチェックを外す
では以上の修正を経て再度ビルドして確認します。
今度は大丈夫そうですね。
これでAndroidデバイスでもショットボタンで弾を発射出来るようになりました。
まとめ
今回は
- プラットフォーム依存コンパイルでWindows向けのビルドではショットボタンが非アクティブになるようにした
- Android向けにビルドしてでショットボタンの動作を確認した
という事をやりました。
次回は、音が無いと寂しいのでBGMとSEを付けていきたいと思います。
では、また次回!








コメント
コメントを投稿