読者です 読者をやめる 読者になる 読者になる

隊長のつまらない独り言

今年社会人になった新米がIT、ゲーム、サブカルチャー、その他日常のいろいろなことを書き記す雑記的ブログ

【Unity5】スプラッシュスクリーン表示が終わってからタイトルを表示→画面タッチでステージ選択画面へ【備忘録】

こんにちは!隊長です。

β版公開に向けて調整を行っている「走れ!ドロイドくん」ですが、

一か所ハマってしまったところがあるので備忘録。

 

 

アプリの流れ

僕が使っているのはUnity5.4の無料版「Personal Edition」なのですが、

Personal Editionではアプリを起動すると必ず以下のような「スプラッシュスクリーン」

という画面が表示されます。

f:id:happy-applications-maker:20160905143539j:plain

 

この画面が起動されたあとに以下のようなタイトル画面を表示し、

そこでタッチをすることでステージ選択画面へ遷移するようにしています。

f:id:happy-applications-maker:20160905142156p:plain

 

つまり、流れとしては

スプラッシュスクリーン表示

タイトル表示

画面をタッチ

ステージ選択画面へ遷移

 

って感じです。

 

ハマった個所

で、ハマったのが「画面をタッチ」のところです。

本来ならタイトル画面でタッチをしたら画面遷移を行うのですが、

なぜかスプラッシュスクリーン表示中に画面をタッチするとアプリが反応し、

タイトルが一瞬だけ表示されたあと勝手にステージ選択画面へ移ってしまうのです。

 

ゲームの進行には全く影響がないのですが、タイトルをちゃんと表示して、

そこでタッチしてから画面遷移をしてほしい.....。

なのでこれを直そうとググっていろいろ試行錯誤しましたが、

なぜかググって出てきた方法を試してもうまくいかず...。

その後自分なりにいろいろ試していたのですが、ようやくうまくいく方法が見つかりま

した。

 

解決策

調べてみると、「Application.isShowingSplashScreen」というスクリプト

を使うと、スプラッシュスクリーンが表示されているかどうかを確認できるとのこと。

なので、まずは以下のようにコードを書いてみました。

 

f:id:happy-applications-maker:20160905150017p:plain

 

このコードは「画面がタッチされて、なおかつスプラッシュスクリーンの表示が終わっていればステージ選択画面へ遷移する」という感じです。しかし、これでも結果は変わらず。

そのあといろいろ調べてみるもこれ以外の記述の仕方が見つからず......。完全にハマりました。ただ、この記述自体は間違っていないと思ったので、これにいろいろと手を加えてみようと試行錯誤。その結果、以下のように修正するとうまくいきました!

 

f:id:happy-applications-maker:20160905150438p:plain

 

新しく「スプラッシュスクリーンが終わったどうか」のフラグを一つ作りました。

スプラッシュスクリーンが終わったらそのフラグをtrueにし、

フラグがtrueの時だけ画面遷移を行うようにしました。

 

ひとまずこれでうまくいきました。

でもこの方法が本当に正しいかはわからないので今後も

別の方法がないかを調べてみたいと思います。

 

 

Unity5の教科書 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

Unity5の教科書 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

 

 

広告を非表示にする