jeudi 23 avril 2015
OOP Sprites
Posted on 08:54 by verona
Ich bin gerade dabei, ein grundlegendes Tutorial zur Spiele-Programmierung in Java durchzugehen. Ich weiß, was objektorientiertes Programmieren ist, Methoden, Klassen und das ganze Zeug, Vererbung kenne ich auch schon ein wenig. Ich lerne bereits in der Schule Java, aber möchte privat noch etwas dazu lernen und kann recht wenig mit folgenden Zeilen Code des Quelltexts anfangen. :bahnhof:
Eine Erklärung wäre nett, aber es würde auch schon genügen, wenn ich wüsste wo ich nachlesen kann oder unter welchen Stichpunkten ich danach suchen kann.
Hier erstmal der Code:
Ich kann ziemlich wenig mit folgenden Zeilen anfangen:
Ball.java
Game2.java
In Ball.java verstehe ich nicht, was es bedeutet, eine neue Variable game mit dem Typen Game2 anzulegen. Was enthält diese neue Variable? Und wo in Game.java rufe ich den Konstruktor von Ball.java auf, um die Variable game zu übergeben?
Die Zeile "Ball ball = new Ball(this);" in Game.java ist mir absolut rätselhaft, das this als Übergabeparameter ist mir auch neu.
Eine weitere Frage:
Es wird zwar im Video erwähnt, aber so ganz habe ich das nicht verstanden: Wofür brauche ich den typecast, was bewirkt er und wofür implementiere ich die "paint-Methode"?
Tut mir Leid für die ganzen Fragen, mir fehlen eindeutig noch wichtige Grundlagen.
Danke schon mal für eure Antworten :)
Eine Erklärung wäre nett, aber es würde auch schon genügen, wenn ich wüsste wo ich nachlesen kann oder unter welchen Stichpunkten ich danach suchen kann.
Hier erstmal der Code:
Java Code:
-
-
package com.edu4java.minitennis3;
-
-
-
import java.awt.Graphics2D;
-
-
-
public class Ball
-
{
-
int x = 0;
-
int y = 0;
-
int xa = 1;
-
int ya = 1;
-
private Game2 game;
-
-
-
public Ball(Game2 game)
-
{
-
this.game = game;
-
}
-
-
-
void move()
-
{
-
if (x + xa < 0)
-
xa = 1;
-
if (x + xa > game.getWidth() - 30)
-
xa = -1;
-
if (y + ya < 0)
-
ya = 1;
-
if (y + ya > game.getHeight() - 30)
-
ya = -1;
-
-
-
x = x + xa;
-
y = y + ya;
-
}
-
-
-
{
-
g.fillOval(x, y, 30, 30);
-
}
-
}
Java Code:
-
package com.edu4java.minitennis3;
-
-
-
import java.awt.Graphics;
-
import java.awt.Graphics2D;
-
import java.awt.RenderingHints;
-
import javax.swing.JFrame;
-
import javax.swing.JPanel;
-
-
-
@SuppressWarnings("serial")
-
{
-
-
-
Ball ball = new Ball(this);
-
-
-
private void move()
-
{
-
ball.move();
-
}
-
-
-
@Override
-
{
-
super.paint(g);
-
ball.paint(g2d);
-
}
-
-
-
{
-
Game2 game = new Game2();
-
frame.add(game);
-
frame.setSize(300, 400);
-
frame.setVisible(true);
-
-
-
while (true)
-
{
-
game.move();
-
game.repaint();
-
}
-
}
-
}
Ich kann ziemlich wenig mit folgenden Zeilen anfangen:
Ball.java
Java Code:
-
-
private Game2 game;
-
public Ball(Game2 game)
-
{
-
this.game = game;
-
}
Game2.java
Java Code:
-
Ball ball = new Ball(this);
In Ball.java verstehe ich nicht, was es bedeutet, eine neue Variable game mit dem Typen Game2 anzulegen. Was enthält diese neue Variable? Und wo in Game.java rufe ich den Konstruktor von Ball.java auf, um die Variable game zu übergeben?
Die Zeile "Ball ball = new Ball(this);" in Game.java ist mir absolut rätselhaft, das this als Übergabeparameter ist mir auch neu.
Eine weitere Frage:
Java Code:
Es wird zwar im Video erwähnt, aber so ganz habe ich das nicht verstanden: Wofür brauche ich den typecast, was bewirkt er und wofür implementiere ich die "paint-Methode"?
Tut mir Leid für die ganzen Fragen, mir fehlen eindeutig noch wichtige Grundlagen.
Danke schon mal für eure Antworten :)
OOP Sprites
Categories: OOP Sprites
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire