PDA

View Full Version : 2 بار اجرا شدن doubleAnimation



drawback
دوشنبه 23 آذر 1394, 10:39 صبح
با سلام خدمت همه دوستان گل برنامه نویس

من ی مشکل دارم با انیمیشن اونم اینه که وقتی کدم اجرا میشه آبجکت من حرکت میکنه و بعد که به مقصد رسید complete event رو فراخوانی میکنم تا جای شی من رو از canvas که درونش هستش رو به canvas دیگر ببرد مشکل اضلی انجای که remove رو انجام میده ولی از بعد از add شدن تو canvas جدید از دوباره حرکت میکنه...
من میخوام حرکت نکنه و سرجای خودش بمونه...

ممنون میشم اگه کمکم کنید

var StartX = Canvas.GetLeft(Zombie1); var EndX = 100;
AnimationX = new DoubleAnimation(0, EndX, TimeSpan.FromSeconds(2));
TranslateTransform Transform = new TranslateTransform();
Zombie1.RenderTransform = Transform;
Transform.BeginAnimation(TranslateTransform.XPrope rty, AnimationX);
var image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri("Images/Zombies/zMoveFront.gif", UriKind.Relative);
image.EndInit();
ImageBehavior.SetAnimatedSource(Zombie1, image);
var controller = ImageBehavior.GetAnimationController(Zombie1);
ImageBehavior.SetRepeatBehavior(Zombie1, RepeatBehavior.Forever);
//AnimationX.Completed += (o, s) =>
//{
// AnimationX.AutoReverse = true;
// AnimationX.FillBehavior = FillBehavior.Stop;

// Completed(sender);
//};
//AnimationX.BeginAnimation(TranslateTransform.XProp erty, AnimationX);



کد remove و add
private void Completed(object sender)
{

if (canvasShip.Children.Count < 7 && go)
{
Canvas.SetTop(sender as Image, -34);
Canvas.SetLeft(sender as Image, 0);

canvasR.Children.Remove(sender as Image);
canvasShip.Children.Add(sender as Image);

}
}

elec60
دوشنبه 23 آذر 1394, 22:08 عصر
بايد FillBehavior رو HoldEnd بگيري

drawback
چهارشنبه 25 آذر 1394, 19:39 عصر
سلام دوست عزیز
نمیشه جواب نمیده