質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

6977閲覧

【Unity】複数ステージに対するスコア表示方法

kamui10

総合スコア18

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2014/08/21 05:36

Unityでアクションゲームを開発しておりまして、複数ステージに対して、それぞれのスコアを表示する方法が分からず苦戦しております。

概要としては、単一ステージで開発したゲームに対して、複数ステージを入れた際に、結果画面にてスコア表示がされないというものです。複数ステージについては、それぞれ独立した単一ステージとなり、ステージ1→ステージ2→ステージ3と続くものではありません。

■単一ステージでの画面遷移
①タイトル画面
②ゲーム画面(単一ステージ)
③結果画面

■複数ステージでの画面遷移
①タイトル画面
②ゲーム選択画面(複数ステージから1つ選択※全25ステージ予定)
③ゲーム画面
④結果画面

■コードについて
④結果画面にて以下のコードを実装しております。

`
void Awake (){

GameObject gLabel = GameObject.Find("SCORE") as GameObject;
script = GameObject.Find("Scripts").GetComponent<GameScript>();

if(gLabel !=null){
Debug.Log("Get SCORE Object");
UILabel uil = gLabel.GetComponent("UILabel") as UILabel;

if(uil !=null){
if(script !=null){
Debug.Log(script.score);
uil.text = script.score.ToString();
}
}

sp = new SocialPlatform();
sp.SendScore(script.score);

}
`

`
void Start () {

int score = script.score;

if(score > PlayerPrefs.GetInt("Score")){
PlayerPrefs.SetInt("Score", score);
Debug.Log("SetHiScore:" + score);
PlayerPrefs.Flush();

}

ul.text = PlayerPrefs.GetInt("Score").ToString();
`

単一ステージでは問題なくスコアの受け渡しが出来ている状態で、
複数ステージにした途端、機能しなくなりました。

どうかみなさまのお力添え、頂けますと幸いです。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

GameScript の中で③から④へのスコアの引き渡しが行われているように見えますので、こちらの実装についても追記していただければ何かしらわかるかもしれません。

また、ハイスコアを"Score"というキーでPlayerPrefsで管理されているようですが、ステージ毎のハイスコアにしたい場合は「"Score"+ステージ数」のようなキーにした方がよいかと思われます。

投稿2014/08/26 02:06

nirasan

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問