Wie kann ich mehrere Animationen in einer einzigen storyboard in C#/XAML?

Ich versuche, machen Sie eine einfache Windows Store-Spiel in C# und XAML, die durch sechseckige Plättchen bewegen. Dies ist vor allem zu helfen, mich zu lernen, C# und XAML habe ich noch nie gearbeitet, mit Grafiken oder sogar UI-Kodierung vor.

Ich habe eine Methode, die eine einzelne hex-zu den Ziel-Koordinaten, aber mit Blick auf Sie jetzt, ich erkennen, dass es unmöglich ist, mehrere Züge auf einmal, das ist absolut notwendig.

Ich fühle mich wie es muss etwas werden, das grundsätzlich aus-in meinem Ansatz, mehrere bewegte Objekte über einen einzigen Leinwand nicht eine ungewöhnliche Sache, kann es? Meistens bin ich gefragt in der Hoffnung, dass jemand die Stelle aus, wo ich ging schief.

    //moves the hex hexName to coordinates x, y, over a specified duration.
    public void slideHex(int x, int y, string hexName, Duration duration)
    {

        GameStoryboard.Stop();

        Polygon hex = GameCanvas.FindName(hexName) as Polygon;



        TranslateTransform slideTransform = new TranslateTransform();
        slideTransform.X = hex.RenderTransformOrigin.X;
        slideTransform.Y = hex.RenderTransformOrigin.Y;

        hex.RenderTransform = slideTransform;

        DoubleAnimation animX = new DoubleAnimation();
        DoubleAnimation animY = new DoubleAnimation();

        animX.Duration = duration;
        animY.Duration = duration;

        GameStoryboard.Duration = duration;
        GameStoryboard.Children.Add(animX);
        GameStoryboard.Children.Add(animY);

        Storyboard.SetTarget(animX, slideTransform);
        Storyboard.SetTarget(animY, slideTransform);

        Storyboard.SetTargetProperty(animX, "X");
        Storyboard.SetTargetProperty(animY, "Y");

        animX.To = x;
        animY.To = y;

        GameStoryboard.Begin();

    }
InformationsquelleAutor StolenKitten | 2012-09-06
Schreibe einen Kommentar