Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: keyPressed ei liikuta kuvaa

megagigatera [02.09.2014 12:48:19]

#

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();
    }


}

Grez [02.09.2014 13:27:33]

#

Nähdäkseni näppäintä painaessa vaan muutat kooridnaatteja, mutta et piirrä mitään uudelleen.

Metabolix [02.09.2014 15:32:01]

#

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.

megagigatera [02.09.2014 16:23:36]

#

Kiitos paljon ohjelma toimii nyt niin kuin pitääkin. Pieni mutta silti niin iso virhe :D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta