none
Problem bei Pong spiel RRS feed

  • Frage

  • Hallo,

    ich wollte mit c# eiin kleines Pong spiel programmieren und habe jetzt als erstes mal die Ball klasse erstellt. Will ich jetzt im xaml meine ball animation testen (bzw. debuggen) funktioniert es nicht. der xaml code ist folgender:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.Windows.Threading;

    namespace Pong_
    {
        /// <summary>
        /// Interaktionslogik für MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            Ball[] tennis_ball;
            

            DispatcherTimer timer; // schafft einen timer

            public MainWindow()
            {
                InitializeComponent();

            }
            private void Windows_Initialize(object sender, RoutedEventArgs e)
            {
                
                timer = new DispatcherTimer();
                timer.Interval = new TimeSpan(0, 0, 0, 40);
                timer.Tick +=new EventHandler(ballTick);


            }

            void ballTick(object sender, EventArgs e)
            {
                for (int i = 0; i <= 1; i++)
                {
                    tennis_ball[i].BallMove();
                }
            }

            private void btn_start_Click(object sender, RoutedEventArgs e) //der start button
            {
                tennis_ball[0] = new Ball(playground);           //playground ist das canvas
            }

                
            }

            
        }

    der fehler müsste bei tennis_ball[0] = newBall(playground); liegen aber ich blicks irgendwie nicht.

    Für Hilfe wäre ich sehr dankbar!

    lg. [Lilith]


    • Bearbeitet [Lilith] Samstag, 6. Oktober 2012 20:56
    Samstag, 6. Oktober 2012 20:55

Antworten

  • Hallo, dein Code sagt ja sehr viel aus. Du zeigst hier den Codebehind des Hauptfebnsters. Du erzeugst ein Array von "Ball" außerdem einen Timer. Wenn der Fehler beim Initialisieren eines neuen Ball-Objekts ist, soltlest du vielleicht auch den Code dazu posten!? Und um was für einen Fehler handelt es sich denn?

    PS: Was ich mir jetzt so denken kann, das dein Array mehr als ein Element hat, du nur beim ersten einen Ball erstellst, aber in ballTick von allen eine Methode aufgerufen wird. Du musst also alle Bälle initialisieren, aber das kann ich ja nicht wissen.

    Was eher deiner Beschreibung entspricht ist, das folgendes fehlt:

    tennis_ball = new Ball[1]; //Ein Array mit 1 Element(en) erstellen

    Das müsstest du dann am besten in btn_start_Click vor dem zuweisen des ersten Balls einfügen.


    PS: Dein geposteter Code ist C#, nicht XAML, XAML ist der reine Designer Code also

    <Window x:class=MainWindow>...</Window>

    C# dagegen

    class MainWindow : Window

    MSDN-Artikel:

    Code-Behind und XAML-Code
    Beispiele für Visual C# Code


    Koopakiller - http://koopakiller.ko.ohost.de/


    Samstag, 6. Oktober 2012 21:28
    Moderator

Alle Antworten