Ona görə də xarakterimin daha rəvan hərəkət etməsi üçün köməyə ehtiyacım var. Problem ondadır ki, mən düyməyə basdığım zaman personaj bir piksel hərəkət edir və bir saniyədən sonra o, bundan sonra “rəvan” işləyir. Mən bunu necə düzəldə bilərəm ki, bir saniyə gözləməyim və o, əvvəldən rəvan qaçsın? Hər hansı bir kömək üçün təşəkkür edirəm və əvvəlcədən təşəkkür edirəm!
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)
if(KB[0] == true)
olmalıdır? və ya sadəcəif(KB[0])
- person samgak   schedule 08.05.2017keyPressed
-də fərqli məntiqiniz var? PS :paintComponent
-də repaint() funksiyasına zəng etmək də yəqin ki, ən yaxşı fikir deyil - person AxelH   schedule 08.05.2017Swing Timer
istifadə etməlisiniz. Klaviaturadan istifadə edilən hərəkətə baxın.KeyboardAnimation.java
nümunəsi nəzarət edə biləcəyiniz hamar animasiya üçünSwing Timer
-dən necə istifadə olunacağını göstərir. - person camickr   schedule 08.05.2017