Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Schläger funktioniert nicht

Ich brauche dringend Hilfe! Für die Schule sollen wir als Projekt das Spiel Pong erstellen. Soweit sogut! Aber nun hab ich ein Problem, denn der Ball geht immer durch den Schläger hindurch und ich weiß nicht wie man das ändern kann. Bin für jede Antwort dankbar. Hier ist der Quelltext:

<html> <head>
<script language="JavaScript">

 var x=1000, y=250, schritte_x=5, schritte_y=5;
 var balkY=10, balkenW=68;

 function tastendruck (Taste){
 
  Taste=window.event
  if (Taste.keyCode == 97  && balkY <= 360) balkY = balkY + 10;
  if (Taste.keyCode == 113 && balkY >= 10)  balkY = balkY - 10;
                
  positionieren("balken", 0, balkY)
  }

document.onkeypress=tastendruck ;

 function bewege() {

  if (x > 1080) {schritte_x = -schritte_x}
  x=x+schritte_x;

  if ((y < 30) ||( y > 515)) {schritte_y = -schritte_y}
  y=y+schritte_y;

  positionieren ("ball", x, y)
  setTimeout("bewege()", 30)
 }

 function positionieren (objId, xwert, ywert) {

      document.getElementById(objId).style.top  = ywert + "px";
      document.getElementById(objId).style.left = xwert + "px";
 }
</script>
</head>
<body bgcolor="green" background=spielfeld.gif onload="bewege()">

  <h1 align="center">Ball und Spielfeld</h1><hr>

   <div id="ball" style="position:relative" >
        <img src="ball.gif" width="30" height="30">
   </div>
   <div id="balken" style="position:relative" >
        <img src="balken.jpg">
   </div>

</body>
</html>



Antworten zu Schläger funktioniert nicht:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi,

- also, ganz durchschau' ichs nicht
- probiert mit IE & FF

• "balken" oder "ball" werden als fehlende Grafik angezeigt
• der "ball" bewegt sich 1x vonrechtskommend zickzack quer durch die Seite
• der "balken" lässt sich garnicht bewegen


Der balken llässt sich mit q und a bewegen und die grafiken sind nicht vorhanden weil du die dazugehörigen bilder nicht hast. ausserdem soll der ball ja auch erstmal nur vom balken abprallen. den rest würde ich dann auch wieder selber hinkriegen.
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

a) Der balken llässt sich mit q und a bewegen

b) und die grafiken ... weil du ... bilder nicht hast...
 

a) halte ich für 1 Gerücht
b) Not macht erfinderisch

ja dann komisch dass du dann auf einmal grafiken in dem script hast und wenn du wirklich richtig javascript könntest würdest du wissen dass die 2 zeilen für q und a stehen:

 if (Taste.keyCode == 97  && balkY <= 360) balkY = balkY + 10;
  if (Taste.keyCode == 113 && balkY >= 10)  balkY = balkY - 10;

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
und wenn du wirklich richtig javascript könntest würdest du wissen dass die 2 zeilen für q und a stehen:

 if (Taste.keyCode == 97  && balkY <= 360) balkY = balkY + 10;
  if (Taste.keyCode == 113 && balkY >= 10)  balkY = balkY - 10;


Hat wohl weniger mit den JavaScript-Fähigkeiten zu tun als mit der Erkenntnis, dass jeder Taste ein ASCII-Code zugeordnet ist. Und die Codes für jede Taste hast du sicherlich auch nicht im Kopf  :-\

nein natürlich habich nicht alle codes im kopf aber man kann sich ja einen quelltext programmieren der auf tastendruck den dazugehörigen code anzeigt.
aber ich glaube dass wir langsam vom thema abkommen und der ball trotzdem noch immer durch meinen schläger geht. deshalb bitte ich um hilfe.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
nein natürlich habich nicht alle codes im kopf aber man kann sich ja einen quelltext programmieren der auf tastendruck den dazugehörigen code anzeigt.

Und genau das machen wir gleich mal, weil uns jemand die Tasten verschwiegen hat ;)

Aber zum Thema:
Du hast die Funktion positionieren(). Darin setzt du die Postition des Schlägers neu. Auf die selbe Art und Weise kannst du die Position auch wieder auslesen. Diese Werte vergleichst du dann mit der Ballposition. Bei Gleichheit (bzw. >=) führst du die Reflexion aus.

greez 8)
JoSsiF

------------
<html><head>

<script language=JavaScript>

   function tastendruck (Ereignis) {

   Ereignis = window.event
   alert(Ereignis.keyCode);
   }

    document.onkeypress = tastendruck;

</script>
</head><body>
</body>
</html>
------------
das ist einmal der quelltext mit dem man die tasten auslesen kann und könntest du das vielleicht mal mit einem beispiel verdeutlichen weil ich hab kein plan wie das gehen soll. danke schon mal.

« Letzte Änderung: 22.12.06, 11:37:43 von R4zirl »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ui, da hat aber jemand die Ironie nich bemerkt...aber danke trotzdem für den Quellcode, auch wenn er nicht ganz richtig ist ;)

Hm, man könnte denken, den bisherigen Code von deine Spiel hast du dir selber auch nicht ausgedacht, sonst würdest du den Rest nämlich auch noch hinkriegen.

Tipp: jedes HTML-Element hat u.a. die Eigenschaften offsetTop und offsetLeft. Damit kannst du arbeiten. Also einfach diese Werte (plus/minus Objektausmaße bei Bedarf) auslesen und mit in die if-Anweisung zum Richtungswechsel einbauen.

Es funktioniert definitiv auf diese Weise, denn ich hab's grad fertiggebaut ;D

greez 8)
JoSsiF

danke erstmal für die erklärung und das mit dem "auch wenn er nicht ganz richtig ist" überhör ich mal.
wenn es dir nichts ausmacht kopier den quelltext doch mal bitte in das forum.

R4zirl

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
und das mit dem "auch wenn er nicht ganz richtig ist" überhör ich mal.

Soll mir egal sein. Aber Tatsachen lassen sich schlecht leugnen ;)


wenn es dir nichts ausmacht kopier den quelltext doch mal bitte in das forum.

Du wirst es nicht erleben, dass ich (zumindest bei solchen einfachen Sachen) komplette Lösungen poste. Die Denkansätze sollten es dir ermöglichen, die paar Zeilen Code selber zu schreiben :)

greez 8)
JoSsiF

Ich habs selber jetzt auch schon rausgefunden ;D. Dank nochmal für die Hilfe.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich habs selber jetzt auch schon rausgefunden...
     

Na bravissimo!

Und; - wann sehen wir das Ergebnis online?

« programme fürs handy selber schreibenWas Richtet dieser Quelltext Kompiliert (Compiler) an ? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

Xbox 360
Die Xbos 360 ist eine von Microsoft entwickelte Spielekonsole und Nachfolder der Xbox. Die Xbox 360 zählt neben der Sony PlayStation 3 und der Nintendo Wii zur siebt...