アプリ版:「スタンプのみでお礼する」機能のリリースについて

Unity、C#ともに学びはじめて2週間の初心者です。
状況はこうです。
4つのシーンがあります。
1.チュートリアル
2.WAVE START
3.WAVE CLEAR
4.GAME OVER
まず2のシーンでWAVEが1からスタートします。
クリアすると3のシーンにいって、また2に戻り、次は2、次は3、と1つずつ増えていきます。
しかし、ゲームオーバーになると4のシーンに行き、その後今度は1のシーンに戻り、その後2へ行き、またWAVEを1からやり直していくという形になります。
ここでWAVEを表すのに変数WAVというものを用いるとします。
これで上記のようにゲームオーバーになってない間は普通に1つずつ増やしていきますが、ゲームオーバーに1度でもなったという場合はStatic変数を用いて、シーン2の頭で、シーン4から、ゲームオーバーに1度でもなったよという変数を拾ってきて、変数WAVをまた0に戻すという、やり方でやってみました。
そうすると、2のシーンの頭で、1度でもゲームオーバーになった場合というのをどうしても拾ってきてしまうため、ゲームオーバーになった後のWAVEをクリアした場合、WAVE1の後にWAVを0に戻さないで、増やしていく事ができなくなってしまい、WAVEを進める事ができません。
考え方でも、プログラミングの仕方でも、変数の扱い方でもいいです。どなたかわかる方、ヒントでもいいので、教えてください。

質問者からの補足コメント

  • ゲームオーバーの所の変数はシーン2の所で、WAVEをクリアしたから一度0に戻すという事をさせるために用意しましたが、このやり方自体がすでに間違っている可能性があります。
    実際、一度でもゲームオーバーになったという変数のせいで、ゲームオーバー後にWAVE1から次の2へといかないわけです。(またゲームオーバーの所から変数を拾ってきて0に戻すため。)
    自分のやり方を完全否定して、WAVEの数をクリアするごとに1ずつ増やすが、ゲームオーバーになったら0にリセットしてもう1度WAVEをやり直すという、この仕組みをわかりやすくどうすればいいのか教えてくれてもいいです。

      補足日時:2018/02/15 18:53
  • こんがらがってる質問に付き合っていただきありがとうございます。
    チュートリアルでクリアする場合、ゲームオーバーになったという事を変数で表したのをクリアする事になりますが、一度ゲームオーバーになったというのを表すのが変数の値1で表すとすると、そのStaticな変数をシーンをまたいで(チュートリアルのシーンで)、変数の値を変更する事ができるのか、初期化できるのかなどがあまりよくまだわかっていない部分があります。じっくり考えてみようとは思うのですが、整理できてない状態です。

      補足日時:2018/02/16 11:51

A 回答 (2件)

とりあえず「ゲームオーバーに1度でもなったよという変数」をどうするかはさておき.



「ゲームオーバーになった」ことを表す変数を用意してチュートリアルがはじまるなり終わるなりした時点でクリアすればいいんじゃないかな.
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。自分でもう少しネットで調べて勉強してみようと思います。

お礼日時:2018/02/16 13:49

「ゲームオーバーに1度でもなったよという変数」の存在意義がわからん.

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!