- Home /
Animation Playback
Hallo everyone,
Lately i have encountered a confusing problem while trying to create a book with scrolling pages. I have a book object and i want the turn animations to play each time I press the appropriate button. I have one button for Next page and one fore the previous page. All works fine until I press the "Previous button" .After i pressed the "Previous" button once the animations for "Next" button stop working, while the "Previous" button animations still work correctly.
Code:
if(buttonPressed)
{
if (GUI.Button(Rect(600,-40,200,100),"Previous Page",buttonStyle))
{
if(pageCount > 1)
{
var pageIndex = pageCount-2;
pageArray[pageIndex].animation["turn"].speed = -1;
pageArray[pageIndex].animation["turn"].time = pageArray[0].animation["turn"].length;
pageArray[pageIndex].animation.Play("turn");
pageCount--;
}
}
}
if (GUI.Button(Rect(1200,-40,200,100),"Next Page",buttonStyle))
{
if(pageCount > 0)
{
var pageIndex_2 = pageCount-1;
//pageArray[pageIndex_2].animation["turn"].time = 0;
pageArray[pageIndex_2].animation.Play("turn");
pageCount++;
}
}
I suspect the problem lying into this line:
pageArray[pageIndex].animation["turn"].time = pageArray[0].animation["turn"].length;
But i tried several things with no luck. So are my expectations true? And how could i solve this problem?
Thanks in advance.
Answer by Larry-Dietz · Jan 13, 2012 at 03:24 PM
I havent played much with animations yet, still new to unity myself, but have you tried resetting the speed variable back to a positive number in the NextPage portion of the script?
-Larry
Hey Larry,
While i indeed already tried that it was not the solution, but following your suggestion i did find the solution.
The animation speed was clamped at -1, thus the animation kept playing backwards...
pageArray[pageIndex].animation["turn"].speed = 1; solved the problem. Thanks
Your answer