Exemple #1
0
        public override void Run(Window window)
        {
            Rect   square  = window.GetInnerSquare();
            Button button1 = new Button(window)
            {
                Text = "Effect",
            };

            button1.Move(square.X, square.Y);
            button1.Resize(square.Width / 2, square.Height / 2);
            button1.Show();

            Button button2 = new Button(window)
            {
                Text = "Chain Effect",
            };

            button2.Move(square.X + square.Width / 2, square.Y + square.Height / 2);
            button2.Resize(square.Width / 2, square.Height / 2);
            button2.Show();

            Point begin = new Point();

            begin.X = begin.Y = 0;
            Point end = new Point();

            end.X = end.Y = square.Height / 2;
            TranslationEffect translation = new TranslationEffect(begin, end);

            translation.EffectEnded += (s, e) => { Console.WriteLine("Translation Effect Ended"); };

            RotationEffect rotation = new RotationEffect(0, 180);

            rotation.EffectEnded += (s, e) => { Console.WriteLine("Rotation Effect Ended"); };

            button1.Clicked += (s, e) => {
                Transit transit1 = CreateTransit();
                transit1.Objects.Add(button1);
                transit1.Objects.Add(button2);
                transit1.AddEffect(translation);
                transit1.AddEffect(rotation);
                transit1.Go();
            };

            button2.Clicked += (s, e) => {
                Transit transit1 = CreateTransit();
                transit1.Objects.Add(button1);
                transit1.AddEffect(translation);
                transit1.AddEffect(rotation);

                Transit transit2 = CreateTransit();
                transit2.Objects.Add(button2);
                transit2.AddEffect(translation);
                transit2.AddEffect(rotation);

                transit1.Chains.Add(transit2);
                transit1.Go();
            };
        }
Exemple #2
0
        public override void Run(Window window)
        {
            Button button1 = new Button(window)
            {
                Text = "Effect",
            };

            button1.Move(0, 0);
            button1.Resize(270, 200);
            button1.Show();

            Button button2 = new Button(window)
            {
                Text = "Chain Effect",
            };

            button2.Move(270, 200);
            button2.Resize(270, 200);
            button2.Show();

            Point begin = new Point();

            begin.X = begin.Y = 0;
            Point end = new Point();

            end.X = end.Y = 200;
            TranslationEffect translation = new TranslationEffect(begin, end);

            translation.EffectEnded += (s, e) => { Console.WriteLine("Translation Effect Ended"); };

            RotationEffect rotation = new RotationEffect(0, 180);

            rotation.EffectEnded += (s, e) => { Console.WriteLine("Rotation Effect Ended"); };

            button1.Clicked += (s, e) => {
                Transit transit1 = CreateTransit();
                transit1.Objects.Add(button1);
                transit1.Objects.Add(button2);
                transit1.AddEffect(translation);
                transit1.AddEffect(rotation);
                transit1.Go();
            };

            button2.Clicked += (s, e) => {
                Transit transit1 = CreateTransit();
                transit1.Objects.Add(button1);
                transit1.AddEffect(translation);
                transit1.AddEffect(rotation);

                Transit transit2 = CreateTransit();
                transit2.Objects.Add(button2);
                transit2.AddEffect(translation);
                transit2.AddEffect(rotation);

                transit1.Chains.Add(transit2);
                transit1.Go();
            };
        }