Joten tarvitsen apua saadakseni hahmoni liikkumaan sujuvammin. Ongelmana on, että hahmo liikkuu yhden pikselin kun painan näppäintä ja noin sekunnin kuluttua hän juoksee "pehmeästi" sen jälkeen. Miten voin korjata sen niin, että minun ei tarvitse odottaa sitä sekuntia ja hän vain kulkee sujuvasti alusta alkaen? Arvostan apua ja kiitos jo etukäteen!
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.GREEN);
g.fillRect(x, y, 30, 30);
update();
}
private boolean[] KB = new boolean[4];
public void update(){
if(KB[0] = true)
{
y -= 10;
}
if(KB[1] = true)
{
x -= 10;
}
if(KB[2] = true)
{
y += 10;
}
if(KB[3] = true)
{
x +=10;
}
repaint();
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_W)
{
KB[0] = true;
}
if(e.getKeyCode() == KeyEvent.VK_A)
{
x -= 10;
}
if(e.getKeyCode() == KeyEvent.VK_S)
{
y += 10;
}
if(e.getKeyCode() == KeyEvent.VK_D)
{
x += 10;
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
if(KB[0] = true)
pitäisi ollaif(KB[0] == true)
? tai vainif(KB[0])
- person samgak   schedule 08.05.2017keyPressed
? PS: Repaint():n kutsuminenpaintComponent
:ssa ei ole myöskään ehkä paras idea - person AxelH   schedule 08.05.2017Swing Timer
animaation ohjaamiseen. Katso Näppäimistön käyttäminen. EsimerkkiKeyboardAnimation.java
näyttää, kuinkaSwing Timer
:a käytetään sujuvaan animaatioon, jota voit hallita. - person camickr   schedule 08.05.2017