Ik loop sinds gisteren tegen een probleem aan dat me beloont met zeker 8 errors, wat ik er ook aan doe. Het is de bedoeling dat er een fullscreen scherm verschijnt met tekst. Ik begrijp niet zo goed wat er mis is.
Het enige wat me wordt verteld bij elke error is 'cannot find symbol'. Klopt het dat de desbetreffende errors dan gaan over keywords die niet gevonden kunnen worden oid? Ik heb ook wat gegoogled maar geen enkele oplossing lijkt te werken.
DisplayMode dm = new DisplayMode(800,600,16, DisplayMode.REFRESH_RATE_UNKNOWN);
starter b = new starter();
b.getContentPane().setBackground(Color.YELLOW);
b.run(dm);
}
Hmm, het is wel een tijdje geleden voor mij... Maar ik heb vroegah ook wel fullscreen applicaties gemaakt en daar met Graphics in getekend. Dat hele gebeuren met Screen en GraphicsDevice hoefde ik niet te doen though.
[add]
Wat is wel zie op het eerste gezicht is dat je super.paint(g); aanroept vanuit paint(), maar de starter class extend niks, dus die regel is fout.
Java (Indonesisch: Jawa) is een eiland in de Republiek Indonesië. Het eiland is 132.000 km² groot (ruim drie keer zo groot als Nederland) en heeft meer dan 114 miljoen inwoners. Daarmee is het het dichtstbevolkte eiland van Indonesië met gemiddeld 864 mensen per vierkante kilometer.
I pulled over to the side and felt no time
Off the highway with the landscape aglow
Still not sure what we were trying to find
I only know we went home
Ik ben een beetje aan het uitzoeken hoe OOB precies gaat in Java, en ik denk dat ik het snap, maar er gaat nog iets mis. Ik probeer een platform-achtig spelletje te maken. Het is me gelukt om een platform te maken en een bal, die bal kan nu met de pijltjestoetsen op het platform bewegen en hij valt er ook af als ik over de rand beweeg.
Ik wil nu graag een tweede platform maken en heb de code daar een beetje voor aangepast, omdat hij eerst bedoelt was voor 1 platform en niet eventueel meer. Onderstaande code geeft geen foutmeldingen, maar hij creëert maar 1 platform. Die tweede doet hij niet. Ik vermoed dat ik de code voor paint() moet herschrijven zodat hij het automatisch voor elk nieuwe platform opnieuw doet...
Ik heb nu dit in de main:
Quote:
Platform platform = new Platform(this, 100, 340, 180, 20);
Platform platform2 = new Platform(this, 80, 220, 150, 20);
Verder op doe ik ook platform.paint(); en platform2.paint();
En dit in platform.java:
Quote:
public class Platform {
private static int Y = 0;
private static int WIDTH = 10;
private static int HEIGHT = 10;
private static int X = 0;
private Game game;
public Platform(Game game, int x, int y, int width, int height) {
this.game = game;
Y = y;
WIDTH = width;
HEIGHT = height;
X = x;
}
public void paint(Graphics2D g) {
g.fillRect(X, Y, WIDTH, HEIGHT);
}
public Rectangle getBounds() {
return new Rectangle(X, Y, WIDTH, HEIGHT);
}
public int getTopY() {
return Y;
}
}
Deze post is 1 keer aangepast, waarvan de laatste aanpassing
is gedaan door Twilight op 02-10-2014 19:07:48.
public void gameOver() {
JOptionPane.showMessageDialog(this, "Game Over man!", "Game Over!"
, JOptionPane.YES_NO_OPTION);
System.exit(ABORT);
}
public static void main(String[] args) throws InterruptedException {
JFrame frame = new JFrame("Platform");
Game game = new Game();
frame.add(game);
frame.setSize(300, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
while (true) {
game.move();
game.repaint();
Thread.sleep(10);
}
}
}
Was er trouwens geen tag voor code?
Deze post is 1 keer aangepast, waarvan de laatste aanpassing
is gedaan door Twilight op 03-10-2014 13:51:54.
Probeer eens om "g" mee te geven in plaats van "g2d". (En dan de paint methode van Platform aanpassen om een Graphics object te accepteren.)
Ik lees hier dat het wel veilig is om een Graphics object naar Graphics2D te casten, maar drawRect is een Graphics methode. Verder weet ik niet of calls naar "g2d" ook de staat van "g" updaten, oftewel ik weet niet of de drawRect commando's wel doorkomen.