Benutzer mit den meisten Antworten
Problem bei Pong spiel

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
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/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Samstag, 6. Oktober 2012 21:31 Ergänzung
- Als Antwort markiert Robert BreitenhoferModerator Montag, 29. Oktober 2012 15:24
Alle 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/
- Bearbeitet Tom Lambert (Koopakiller)Moderator Samstag, 6. Oktober 2012 21:31 Ergänzung
- Als Antwort markiert Robert BreitenhoferModerator Montag, 29. Oktober 2012 15:24
-
Hallo [Lilith],
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.