PhilippH: Breakout-Spiel und Kollisionsabfrage

Beitrag lesen

Hallo liebe Selfhtml-Community,
ich bräuchte ein bisschen Unterstützung in Sachen Javascript.
Und zwar möchte ich ein Breakout-Spiel realisieren. Für jene, die nicht wissen, was Breakout ist, sei es kurz erklärt: Der Spieler kontrolliert im unteren Bildschirmberech einen Schläger, mit dem er versuchen muss, einen Ball hochzuhalten und mit diesem Steine im oberen Bildschirmbereich zu zerstören.
Jedenfalls bin ich bis jetzt ganz gut vorangekommen, allerdings habe ich bei ein paar Sachen Probleme. Da wäre erstens die Kollisionsabfrage für die Steine, die von allen Seiten des Steines erfolgen soll. Ich habe die Steine alle in eine Tabelle (15x6) geschrieben und ihnen eine ID zugewiesen:

// Tabelle schreiben
    var steinID = 0;

document.write('<table border="0" cellspacing="0" cellpadding="0">');
    for (var v = 0; v < 6; v++)
    {
      document.write('<tr>');
      for (var i = 0; i < 15; i++)
        {
        document.write('<td style="visibility:visible;" id="'+steinID+'"></td>');
        steinID++;
        }
      document.write('</tr>');
    }

Die Steine werden so definiert:

td {width:50px;height: 26px; background-image: url(brick.png);}

Die Position des Balls ist mit Posx und Posy beschrieben. Nach dem Aufprall soll der Stein verschwinden (ich wollte da dann einfach visibility per getElementById auf hidden setzen) und der Ball die Richtung ändern.
Wie könnte ich jetzt eine Kollisionsabfrage von Ball und Steinen realisieren?

Zweites Problem. Das ganze funktioniert nur im Internet Explorer. Im Firefox
Browser lässt sich der Schläger nicht bewegen, vermutlich wegen der Ermittlung der Mausposition mit "x=window.event.x;", was ja laut Selfhtml im FF nicht möglich ist. Ich weiß zwar, dass das irgendwie mit "clientX" geht, habe allerdings keine Ahnung, wie das geht, auch nach dem Lesen des entsprechenden Eintrages. "x=clientX" funktioniert jedenfalls nicht.

Letztes Problem (bis jetzt ;-)) wäre dann noch, dass manchmal der Ball über den Schläger "schliddert", was ich mir überhaupt nicht erklären kann.

Leider ist es mir zur Zeit nicht möglich, die Dateien auf einen Webspace zu stellen, ich habe es allerdings bei einem Oneclickhoster hochgeladen. Ich hoffe das bereitet keine Umstände. Link ist im Anhang.

Danke schonmal für's Lesen und für baldige Hilfe,
Grüße, Philipp