त्यामुळे माझे पात्र अधिक सहजतेने पुढे नेण्यासाठी मला मदतीची गरज आहे. समस्या अशी आहे की जेव्हा मी की दाबतो तेव्हा वर्ण एक पिक्सेल हलवतो आणि एक सेकंदानंतर तो "सुरळीतपणे" चालतो. मी ते कसे दुरुस्त करू शकतो जेणेकरून मला तो एक सेकंद थांबण्याची गरज नाही आणि तो सुरुवातीपासून सहजतेने धावेल? मी हात आधी कोणत्याही मदत आणि धन्यवाद प्रशंसा!
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)
असावा? किंवा फक्तif(KB[0])
- person samgak   schedule 08.05.2017keyPressed
मध्ये वेगळे तर्क का आहे? PS :paintComponent
मध्ये repaint() कॉल करणे ही कदाचित सर्वोत्तम कल्पना नाही - person AxelH   schedule 08.05.2017Swing Timer
वापरण्याची आवश्यकता आहे. कीबोर्ड वापरून मोशन पहा.KeyboardAnimation.java
उदाहरण तुम्ही नियंत्रित करू शकता अशा सहज अॅनिमेशनसाठीSwing Timer
कसे वापरायचे ते दाखवते. - person camickr   schedule 08.05.2017