Eli aloittelin youtuben tutoriaalilla tuommosta pelin tynkää, jossa pitäisi saada pallo liikkumaan nuoli näppäinten avulla. Koodin pitäisi olla täysin oikein, mutta minulla pallo ei suostu liikkumaan.
Joten osaisiko joku neuvoa miten pallon saisi liikkumaan?
package javagame; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JFrame; public class Javagame extends JFrame { int x,y; public class AL extends KeyAdapter{ public void keypressed(KeyEvent e){ int keyCode = e.getKeyCode(); if (keyCode == e.VK_LEFT){ x--; } if (keyCode == e.VK_RIGHT){ x++; } if (keyCode == e.VK_UP){ y--; } if (keyCode == e.VK_DOWN){ y++; } } } public Javagame(){ addKeyListener(new AL()); setTitle("Java game"); setSize(250, 250); setResizable(false); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); x = 150; y = 150; } public void paint(Graphics g){ g.fillOval(x, y, 15, 15); repaint(); } public static void main (String[] args){ new Javagame(); } }
Nähdäkseni näppäintä painaessa vaan muutat kooridnaatteja, mutta et piirrä mitään uudelleen.
Olet kirjoittanut metodin keypressed nimen kokonaan pienellä, jolloin kyseessä on eri metodi kuin keyPressed (huomaa iso P), jolloin metodiasi ei kutsuta ikinä. Kun haluat korvata jonkin metodin luokasta (tai toteuttaa metodin rajapinnasta), käytä metodin edellä merkintää @Override, jotta kääntäjä varoittaa väärästä nimestä tai vääristä parametreista.
Kiitos paljon ohjelma toimii nyt niin kuin pitääkin. Pieni mutta silti niin iso virhe :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.