想做一個類似Android中Toast的效果,即一個小小的提示框,上面寫着一些提示語,在屏幕下方淡入,顯示1秒,然後淡出,不會對程序產生任何影響,只是讓用戶看一下。
本來的思路如下:
1,add一個Sprite
2,讓這個Sprite執行淡入-延遲-淡出的動畫
問題出現了,就是在剛剛add精靈的時候,精靈會顯示出來,然後纔去執行動畫,儘管馬上又會隱藏以便做淡入的動作,但是能夠被肉眼看出來,效果相當不好。
解決方案:
在沒有add這個精靈前先sprite->setVisable(false);
然後在執行動畫的時候使用回調函數,順序如下:
1,sprite淡出,時間爲0(爲了讓這個精靈不可見)
2,sprite調用回調函數,函數的作用是setVisable(true)
3,執行淡入動作序列。
另外,字體其實也是一個Sprite,但他不會產生上述問題,原因不明。