- Home /
Application.LoadLevel, Send me to the same Scene
Hi
I'm using the following script to determine when the player hit a collider, is very simple if the user hit the collider and there's no Bubbles should be sent to main menu otherwise Game Over Scene should appear,
But the problem is that no matter what always send me to GameOver Scene, any idea?? .....................
public int totalBubbles;
public static int pumpBubbles;
void OnTriggerEnter(Collider other)
{
if (pumpBubbles == totalBubbles)
{
print ("you WIN");
Application.LoadLevel("MainMenu");
}
else
{
print ("you LOOSE");
Application.LoadLevel("GameOver");
}
}
Answer by joedrigon · Jan 18, 2013 at 09:49 PM
Based on what you are saying it seems like pumpBubbles is never matching totalBubbles. When you run print (pumpBubbles); it does match sometimes? Are you sure both those variables are of the same type?
public int totalBubbles; public static int pumpBubbles;
Both variables are the same tipe (int), I Initialize totalBubbles = 15 in the inspector, pumpBubbles is also 15 So YES they match !!
could be the static in pupmpBubbles??, I put it so can be referenciated by other script
Yes, try and print totalBubbles and see if its returning anything... that my be why.
this is the script when I pump a bubble
void OnTriggerExit(Collider other)
{
Destroy(gameObject);
GoalCtrl.pumpBubbles++ ;
}
this script is on every bubble so it count +1 in GoalCtrl.pumpBubbles each time a bubble is pumped
but print (pumpBubbles); was already returning me the 15 (As spected)
When you print both variables (pumpBubbles and totalBubbles) are you doing it inside the else statement where player loses?
Answer by DanSuper · Jan 18, 2013 at 09:13 PM
Did you make sure to add both "Main Menu" and "Game Over" to the levels used in the game in File->Build Settings ?
Yep both are there !! also I check the variable pumpBubbles to check the validation by doing:
print (pumpBubbles);
Still not working !!
Answer by Duxten · Jan 18, 2013 at 10:46 PM
using UnityEngine; using System.Collections;
public class GoalCtrl : MonoBehaviour {
public int totalBubbles;
public static int pumpBubbles;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
print (pumpBubbles);
}
void OnTriggerEnter(Collider other)
{
if (pumpBubbles == totalBubbles)
{
print ("you WIN");
Application.LoadLevel("MainMenu");
}
//else
//{
//print ("you LOOSE");
//Application.LoadLevel("GameOver");
//}
if (pumpBubbles < totalBubbles)
{
print ("you LOOSE");
Application.LoadLevel("GameOver");
}
}
}
Your answer
Follow this Question
Related Questions
LoadLevel help! 1 Answer
Load/Change scene with UI Button 1 Answer
,Restart Scene after level Completion 0 Answers
Problem in loading a lower level/scene 0 Answers
Game freezes loading a new scene with Android split application (APK + OBB) 1 Answer