- Home /
Collision load level
hi, does anyone know how to load a level once the player collides with something, i tried to script it in .JS but it doesnt work....
(Everything under here is my code!!)
var LevettoLoad : String;
function OnCollisionEnter (Collison : Collision) {
if(Collison.gameObject.tag == "Player")
{
Application.LoadLevel(LevettoLoad);
}
}
i hope your problem is not that you have a typo in "LeveltoLoad", you can use azzogat suggestion or if you want to go to different levels or back and forwards you can load any scene compiled by using the direct name of the scene. Application.LoadLevel("whatever1") ; or you can use numbers like Application.LoadLevel (1); unity puts a number in each scene compiled.
Answer by Bram 1 · Dec 27, 2010 at 06:13 PM
hello. this worked for me. here is the code:
private var NL = false;
function OnControllerColliderHit(hit:ControllerColliderHit) {
if(hit.gameObject.tag == "NextLevel")
{ Debug.Log( hit.gameObject.tag );
yield WaitForSeconds (3);
NL = true; } }
function LateUpdate() { if(NL) {
Application.LoadLevel(0);
NL=false;
}
}
this code works just fine for my tank game. here you go :)
before you try it you need to check this to:
1: be sure to set the tag right !!! (spelling also) 2: be sure to set the level you want to load to the number 0 in the build settings under file.
if you did that than it should work.
you don't need the : yield WaitForSeconds (3);
but you can use it if you want it to wait 3 seconds before loading the other level.
Your answer
Follow this Question
Related Questions
Next lvl code help 1 Answer
Loading new level after killing enemies 3 Answers
Trigger with get key down problems 0 Answers
Collisions not working. 1 Answer