- Home /
Expressions in statements must only be executed for their side effects
Trying a simple opacity animation in UnityScript where I fade out one image and replace it with another... Not sure why I'm getting an error message?
function FadeInEyes () {
t = 0.0f;
for (t; t < 1.0f; t += Time.deltaTime / 0.2f) {
eyesCanvas.alpha += t;
earsCanvas.alpha -= t;
yield;
}
}
The earsCanvas and eyesCanvas objects are 2D CanvasGroups. I'm having no trouble changing these with 1 or 0 so not sure why this isn't working.
Thanks in advance!
Answer by Baste · Dec 10, 2014 at 10:59 AM
it's the for loop that's causing you issue. Each of the three parts of the for loop has to be a single valid statement, this one:
t;
is not a valid statement, and is what's causing the error. The error's saying, in more plain English, that you have a statement that does nothing. In your case, it's the name of a variable that you're not doing anything with.
To fix your issue, move the declaration of t inside the loop:
for (t = 0.0f; t < 1.0f; t += Time.deltaTime / 0.2f) {
Or, if you're insisting on keeping the declaration outside of the for loop, use an empty statement instead:
t = 0.0f;
for (; t < 1.0f; t += Time.deltaTime / 0.2f) {
Your answer
![](https://koobas.hobune.stream/wayback/20220613173650im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Whats wrong with this script? 1 Answer
anonymous functions with JavaScript? 2 Answers
Stopping in the middle of an if statment 1 Answer
BCE0077: It is not possible to invoke an expression of type 'float'. 0 Answers
How do I get access to "expression.shout" and "teeth_shout" in Unity C# scripting? 1 Answer