29-05-2011, 04:42 PM
(Questo messaggio è stato modificato l'ultima volta il: 29-05-2011, 04:51 PM da Daxi.)
Ecco il mio script:
solo che c'è un problema coi collider: se colpisco la sfera (l'achievements) di striscio mi attribiusce 1 unità in più, se la tocco per qualche istante in più mi attribiusce di più (esempio: ho toccato UNA sfera e la funzione print nella console mi dava "sfere prese: 78")
e in più se supero le 4 sfere non cambia livello.
HELP!
Ad esempio, ho aggiunto un rigidbody alle sfere, un mi ha fatto addizionare ach_count di 1 e una di 3, quindi si è caricato il livello (1), ma io ho preso solo 2 sfere!
Codice:
var ach_count = 0;
private var all_done = false;
var dissolvente : Transform;
function OnControllerColliderHit(hit : ControllerColliderHit) //se colpisco l'oggetto
{
if(hit.gameObject.tag == "Im_an_achiev")
{
ach_count += ach_count + 1; // ach_count vale 1 unità in più (se era 1 ora è 2 ecc)
Destroy(hit.gameObject); // distrugge la sfera con cui sono andato a contatto
}
}
function Update()
{
print ("Sfere prese: "+ach_count);
if(ach_count == 4) //se ho preso 4 achevements
{
Application.LoadLevel(1); //CArica il Prossimo Livello
print ("Molto Bene!"); //messaggio
//var des = Instantiate(dissolvente, gameObject.transform.position, Quaternion.identity); //Il verme si dissolve - funzione inutilizzata
}
}
solo che c'è un problema coi collider: se colpisco la sfera (l'achievements) di striscio mi attribiusce 1 unità in più, se la tocco per qualche istante in più mi attribiusce di più (esempio: ho toccato UNA sfera e la funzione print nella console mi dava "sfere prese: 78")
e in più se supero le 4 sfere non cambia livello.
HELP!
Ad esempio, ho aggiunto un rigidbody alle sfere, un mi ha fatto addizionare ach_count di 1 e una di 3, quindi si è caricato il livello (1), ma io ho preso solo 2 sfere!