Tāpēc man ir vajadzīga palīdzība, lai mans varonis kustētos raitāk. Problēma ir tāda, ka varonis pārvietojas par vienu pikseļu, kad es nospiežu taustiņu, un pēc kādas sekundes viņš skrien "gludi" pēc tam. Kā es varu to salabot, lai man nebūtu jāgaida šī viena sekunde, un viņš no sākuma skriet gludi? Es novērtēju jebkuru palīdzību un pateicos jau iepriekš!
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)
jābūtif(KB[0] == true)
? vai vienkāršiif(KB[0])
- person samgak   schedule 08.05.2017keyPressed
? PS: izsaukt repaint()paintComponent
, iespējams, arī nav tā labākā ideja - person AxelH   schedule 08.05.2017Swing Timer
. Skatiet sadaļu Kustība, izmantojot tastatūru. PiemērāKeyboardAnimation.java
ir parādīts, kā izmantotSwing Timer
vienmērīgai animācijai, kuru varat kontrolēt. - person camickr   schedule 08.05.2017