C# 重新开始情节提要动画
我在我的代码中调用故事板动画,如C# 重新开始情节提要动画,c#,xaml,C#,Xaml,我在我的代码中调用故事板动画,如MyAnim.Begin() 但当我再次调用该方法时(比如,当我再次单击时), 它会中断当前正在运行的动画并从头开始 有没有一种方法可以在不中断彼此的情况下多次启动同一动画 我制作了一个爆炸效果,我想让它一次又一次地爆炸。故事板对象包含一个已完成的事件。当故事板完成运行时,将触发该命令 我建议这样做: 私有对象_locker=新对象(); 私有布尔处理; 私人国际候机公寓 public void Setup() { MyAnim.Completed+=Co
MyAnim.Begin()代码>
但当我再次调用该方法时(比如,当我再次单击时),
它会中断当前正在运行的动画并从头开始
有没有一种方法可以在不中断彼此的情况下多次启动同一动画
我制作了一个爆炸效果,我想让它一次又一次地爆炸。故事板对象包含一个已完成的事件。当故事板完成运行时,将触发该命令
我建议这样做:
私有对象_locker=新对象();
私有布尔处理;
私人国际候机公寓
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();
}
}
}
当我从内存中执行此操作时,您需要查看已完成事件提供的参数,但我以前使用过此参数,并且它正是您希望执行的操作。序列图像板对象包含已完成事件。当故事板完成运行时,将触发该命令
我建议这样做:
私有对象_locker=新对象();
私有布尔处理;
私人国际候机公寓
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();
}
}
}
在我从内存中执行此操作时,您需要查看已完成事件提供的参数,但我以前使用过此参数,它完全符合您的要求