현재 제 2d 자바 게임에 문제가 있습니다. 모든 것이 끝날 때까지 나를 위해 일합니다. 스프라이트를 움직이려고하면 아무 일도 일어나지 않습니다. player.setVelY(-5);
대신 player.setY(player.getY - 5);
을 사용하면 스프라이트가 움직이지만 왜 setVelX 및 setVelY가 작동하지 않습니까? :/Java 2D 게임에서 스프라이트가 움직이지 않습니다.
는
@Override
public void keyPressed(KeyEvent e){
int key = e.getKeyCode();
switch(BNeeto.state){
case MENU:
break;
case GAME:
if(key == KeyEvent.VK_W)
player.setVelY(-5);
if(key == KeyEvent.VK_S)
player.setVelX(5);
if(key == KeyEvent.VK_A)
player.setVelY(-5);
if(key == KeyEvent.VK_D)
player.setVelX(5);
break;
case OPTIONS:
break;
case PAUSE:
break;
default:
break;
}
}
Player.java
package bneeto.entity;
import bneeto.gfx.Texture;
import bneeto.gfx.core.CoreObject;
import java.awt.Graphics;
public class Player extends CoreObject{
public Player(int x, int y, int id, Texture tex){
super(x, y, id, tex);
}
@Override
public void tick() {
x += velX;
y += velY;
}
@Override
public void render(Graphics g) {
g.drawImage(tex.blockStone, x, y, null);
}
}
질문과 관련된 부분에 제공하는 코드를 줄이십시오. 이렇게하면 질문이 너무 길어지고이 코드 전체를 읽는 것이 매우 어렵습니다. 대부분의 사람들은 그렇지 않을 것입니다. do (그리고 당신의 질문이 답을 얻는 것을 막는다) – LionC