2016-08-28 2 views
0

Ich versuche es zu erreichen, wenn beim nächsten Spielstart eine Werbung nach 5 mal angezeigt wird. Das habe ich bisher. Das funktioniert nicht. Dies wurde getestet.Unity3D Show füge alle 5 Neustarts hinzu

private int restartNum { 
     get { 
      return PlayerPrefs.GetInt ("restartNum"); 
     } 
     set { 
      PlayerPrefs.SetInt ("restartNum", value); 
     } 
    } 

    public void OnButtonClick(string sceneName) 
    { 
     restartNum += 1; 
     if (restartNum == 5) {// adding this makes it not work 
      ShowAd();// This works by itself 
      restartNum = 0; 
     } 
     SceneManager.LoadScene (sceneName); 
    } 
+1

Ok, was ist los? Hast du es getestet? Funktioniert es? Du hast nicht gesagt, ob es ein Problem gibt ... – Programmer

+0

Ich dachte, es funktioniert nicht, war offensichtlich ... Ich habe die Frage bearbeitet – Lynnstrum

+0

Nicht ein guter Weg, um eine Frage zu stellen. Sie müssen angeben, was Ihr Problem in Ihrer Frage ist. Auch nach der Bearbeitung haben Sie nicht erwähnt, was gerade passiert. Du hast nur gesagt "Es funktioniert nicht". Ich konnte das Problem aufspüren. Überprüfe meine Antwort. – Programmer

Antwort

1

if (restartNum == 5) wird nur neu starten, wenn restartNum5 ist und diese true nur einmal sein wird. Danach wird restartNum immer > 5 sein und Ihre if Anweisung wird niemals wieder wahr sein. Damit es funktioniert alle 5 mal, verwenden Sie den Modulo-Operator (%).

ändern

if (restartNum == 5) 

zu

if (restartNum % 5 == 0) 

Es restartNum durch 5 jedes Mal teilen wird und prüfen, ob der Rest 0 ist. Wenn 0 dann ist dies ein 5. Mal.

+1

Danke, das funktioniert. – Lynnstrum

Verwandte Themen