- Home /
Question by
Unity3DJava · Jul 28, 2013 at 01:58 AM ·
renderrenderwithshader
Looping Renderer
I want to figure out how to loop this code when ever i start the scene it does what I want ,but then just flickers. I want it to do what it executed the first time instead of flickering.Heres my code:
var wait : float;
var rend : float;
function Rendering () {
renderer.enabled = false;
yield WaitForSeconds(rend);
renderer.enabled = true;
}
function Update () {
Rendering();
Destroy();
}
function Destroy() {
yield WaitForSeconds(wait);
Destroy(gameObject);
}
Comment
Best Answer
Answer by robertbu · Jul 28, 2013 at 03:01 AM
I'm guessing a bit on how you want this to behave, but here is an alternate solution:
var wait : float;
var rend : float;
function Start() {
InvokeRepeating("Rendering", 0.0, rend);
Destroy(gameObject, wait);
}
function Rendering () {
renderer.enabled = !renderer.enabled;
}
Note that Destory() takes an alternate parameter for how long in the future to execute the destroy. Also the way you had this code structured, you were stacking up a large number of coroutines (i.e. you were getting two new coroutines every time Update() is called.
Your answer
![](https://koobas.hobune.stream/wayback/20220613111028im_/https://answers.unity.com/themes/thub/images/avi.jpg)