プログラミング学習日記

プログラミング学習時のメモ帳。

Unity<RetryButton>~前のシーンへ戻る~

間違っている場所あったら優しく教えてね

アクションゲーム、パズルゲームで前の画面に戻りたいと思った。

Stageをクリアした時、失敗した時にもう一度同じStageをするためのRetryButtonを作成する方法。

 

GameEngine.cs

public class GameEngine : MonoBehavier ( ) {

  public static string NowScaneName;

  NowSceneName = SceneManager.getActiveScene( ).name;

  public static string getSceneName( ){

     return NowSceneName;

  }

}

解説

  • static変数を用いることでsceneが変更されても値はその変数に入力されたままになる。
  • SceneManager.getActiveScene( ).name;で現在のSceneの名前を取得できる。
  • getSceneNameメソッドをstaticにすることで外部からメソッドを使える。このメソッドの戻り値を現在のシーンの名前にしている。

RetryButton.cs

  public string ReturnSceneName;

  public void PushRetryButton ( ){

    ReturnSceneName = GameEngine.getSceneName( );

    SceneManager.LoadScene( ReturnSceneName );

   }

 解説

  • GameEngineクラスのgetSceneNameメソッドを呼び出して変数をえる。
  • LoadScene( ) でシーン遷移をする。

コメント

  • 変数はsceneを変えてしまうと中身が失われてしまうため、static変数を用いた。
  • メソッドに戻り値を与えてstatic変数を取り出した。
  • RetryButtonは多用するので、活躍しそうだ。

ブログを見ていただきありがとうございました