mercredi 20 mai 2015
PingPongBall wird nicht angezeigt
Posted on 03:25 by verona
Hallo liebe java-forum- community,
aufregung! mein erster Beitrag:)
zu meinem problem: ich bin gerade dabei ein simples pingpong zu programmieren.
dazu habe folgende Klassen: Display, Ball und die Panels
Mein Problem ist nun, dass ich in der Displayklasse voher folgende Zeile hatte:
g.drawImage(ball, ( PingPong.getXSIZE() / 2 ) - ball.getWidth() , ( PingPong.getYSIZE() / 2 ) - ball.getHeight() , null);
welches mir den ball in der Mitte des spielfeldes angezeigt hatte.
da ich aber für die bewegung des Balls mit xpos und ypos klar machen möchte, wurde
folgende Zeile draus: g.drawImage(ball, ball.xpos, ball.ypos, null);
Nun die panels werden noch angezeigt. der Ball allerdings nicht. Auch eine Ausgabe von ball.xpos und ball.ypos ergibt sinnvolle werte.
hat jemand ne idee woran es liegen könnte, dass die XY-Werte in ordnung sind aber der ball dennnoch nicht gezeichnet wird?
mfg dichter
Klasse Ball
aufregung! mein erster Beitrag:)
zu meinem problem: ich bin gerade dabei ein simples pingpong zu programmieren.
dazu habe folgende Klassen: Display, Ball und die Panels
Mein Problem ist nun, dass ich in der Displayklasse voher folgende Zeile hatte:
g.drawImage(ball, ( PingPong.getXSIZE() / 2 ) - ball.getWidth() , ( PingPong.getYSIZE() / 2 ) - ball.getHeight() , null);
welches mir den ball in der Mitte des spielfeldes angezeigt hatte.
da ich aber für die bewegung des Balls mit xpos und ypos klar machen möchte, wurde
folgende Zeile draus: g.drawImage(ball, ball.xpos, ball.ypos, null);
Nun die panels werden noch angezeigt. der Ball allerdings nicht. Auch eine Ausgabe von ball.xpos und ball.ypos ergibt sinnvolle werte.
hat jemand ne idee woran es liegen könnte, dass die XY-Werte in ordnung sind aber der ball dennnoch nicht gezeichnet wird?
mfg dichter
Java Code:
-
import java.awt.Graphics;
-
-
import javax.swing.JPanel;
-
-
-
Ball ball;
-
Panel panel_player1, panel_player2;
-
-
public Display(){
-
-
ball = new Ball();
-
-
}
-
-
-
//Spielfläche
-
g.drawRect(0, 0, PingPong.getXSIZE() - 1 , PingPong.getYSIZE() - 1 );
-
//Ball
-
g.drawImage(ball, ball.xpos, ball.ypos, null);
-
//Panels
-
g.drawImage(panel_player1, 0 , ( PingPong.getYSIZE() / 2 ) - panel_player1.getHeight() , null);
-
g.drawImage(panel_player2, PingPong.getXSIZE() - panel_player1.getWidth(), (PingPong.getYSIZE() / 2 ) - panel_player2.getHeight() , null);
-
-
}
Klasse Ball
Java Code:
-
import java.awt.image.BufferedImage;
-
import java.io.IOException;
-
-
import javax.imageio.ImageIO;
-
-
-
public int xpos = 0, ypos = 0;
-
public int speed = 3;
-
-
public Ball() {
-
-
xpos = ( PingPong.getXSIZE() / 2 ) - this.getWidth();
-
ypos = ( PingPong.getYSIZE() / 2 ) - this.getHeight();
-
-
try {
-
ImageIO.read(getClass().getResource("ball.png") );
-
-
//weiß transparent machen
-
for (int i = 0; i < getWidth() ; i++) {
-
for (int j = 0; j < getHeight(); j++) {
-
-
int rgb = getRGB(i, j);
-
-
int alpha = (rgb & 0xFF000000) >>> 24;
-
int red = (rgb & 0x00FF0000) >>> 16;
-
int green = (rgb & 0x0000FF00) >>> 8;
-
int blue = (rgb & 0x000000FF) >>> 0;
-
-
if (red == 255 && green == 255 && blue == 255) {
-
int new_rgb = (0 << 24) | (red << 16) | (green << 8) | blue;
-
setRGB(i, j, new_rgb);
-
-
}
-
}
-
}
-
-
-
e.printStackTrace();
-
}
-
-
}
-
}
PingPongBall wird nicht angezeigt
Categories: PingPongBall wird nicht angezeigt
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire