j'ai un collider et une surface. Quand je rentre dans le collider ma surface devient transparente et quand je sort du collider ma surface redevient opaque.
en triggerEnter----->fondu de l'alpha du shader vers la transparence
en triggerExit-------->refondu de l alpha du shader vers l'opacité
Mon problème c'est que ça marche très bien une fois, mais pas deux ni trois ni quatre....
j'ai fais ça comme ça -1- sur mon collider:
Code : Tout sélectionner
function OnTriggerEnter(other:Collider)
{
if (other.tag=="Player")
{
miroir.SendMessage("fadeOff");
}
}
function OnTriggerExit(other:Collider)
{
if (other.tag=="Player")
{
miroir.SendMessage("fadeOn");
}
}
Code : Tout sélectionner
#pragma strict
function fadeOff()
{
for (var f=1.0; f>= 0; f-= 0.1) {
var c = GetComponent.<Renderer>().material.color;
c.a = f;
GetComponent.<Renderer>().material.color = c;
yield;
}
}
function fadeOn()
{
for ( var f =0.0; f >= 0; f += 0.1) {
var c = GetComponent.<Renderer>().material.color;
c.a =f;
GetComponent.<Renderer>().material.color = c;
yield;
//yield WaitForSeconds(0.1);
}
}
j'ai essayé dix milles manière de déclarer ces variables, notement en essayant de faire de la variable f une variable commune aux 2 fonction mais j'ai pas réussi, (...in statement can only be use for the side effects)
Qu'elqu'un peut il m aider.
Par avance Merci.