1
我在我的代碼調用一個故事板,動畫像MyAnim.Begin();
開始故事板,動畫一遍又一遍
但是當我再次調用該方法(比如,當我點擊做一遍), 它中斷當前正在運行動畫從一開始就從新開始。
有沒有辦法在不中斷對方的情況下多次啓動相同的動畫?
我做了爆炸效果,我想讓它一遍又一遍地爆炸。
我在我的代碼調用一個故事板,動畫像MyAnim.Begin();
開始故事板,動畫一遍又一遍
但是當我再次調用該方法(比如,當我點擊做一遍), 它中斷當前正在運行動畫從一開始就從新開始。
有沒有辦法在不中斷對方的情況下多次啓動相同的動畫?
我做了爆炸效果,我想讓它一遍又一遍地爆炸。
故事板對象包含完成的事件。當故事板完成運行時會被觸發。
我建議是這樣的:
私有對象_locker =新的對象(); private bool _isProcessing; private int _waitingAnimations;
public void Setup()
{
MyAnim.Completed+=CompletedExecution;
}
private void CompletedExecution(object sender, EventArgs args)
{
bool runAnotherAnim;
lock(_locker)
{
runAnotherAnim=_waitingAnimations>0;
if(_waitingAnimations>0)
_waitingAnimations--;
}
if(runAnotherAnim)
MyAnim.Begin();
else
_isProcessing=false;
}
public void AddAnimation()
{
lock(_locker)
{
if(_isProcessing)
{
_waitingAnimations++;
}
else
{
_isProcessing=true;
MyAnim.Begin();
}
}
}
你需要看看的,因爲我從內存這樣Completed事件提供的參數,但我以前用過這個,它做了你希望做什麼。