나는 작은 우주 침략자 프로젝트를 만들고 있는데, 나는 외계인을 왼쪽에서 오른쪽 루프에 끊임없이 가지고있다. 그들이 스크린의 끝을 쳤을 때 그들은 오른쪽에서 다시 왼쪽에서 오른쪽으로 다시 채색한다. 이미 창 크기를 설정했고 Java에서 공간 침입자를 만드는 방법에 대한 다양한 자습서를 살펴 보았습니다. 그러나 대부분은 제가 시도한 것과 똑같은 것을 말합니다. 누군가 내가 잘못 코딩 한 부분을 지적하여 문제를 해결할 수 있는지 알아볼 수 있습니까?자바에서 왼쪽에서 오른쪽으로 움직이는 침입자를 얻는 방법
이것은 외계인 클래스의 코드입니다. 다른 외계인 그러나 모든 클래스가 거의 같은이 하나 봐 있습니다
package spaceinvaders2;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
class Alien extends MoveObject
{
Image Alien = new ImageIcon(getClass().getResource("alien.gif")).getImage();
Alien(int x, int y, int w, int h)
{
super(x, y);
bounds.width = w;
bounds.height = h;
}
public void paint(Graphics g)
{
System.out.println("Alien generated");
bounds.x = bounds.x - 2;
if ((bounds.x + bounds.width)< 0)
{
bounds.x = 750;
dead = false;
}
g.drawImage(Alien,bounds.x,bounds.y,bounds.width, bounds.height, this);
}
}
편집 : 내 페인트 방법은 모든 그래픽을 그리는 주요 게임 기능 부분에서 호출되고있다. 드로잉은이 클래스에있는 외계인의 움직임에 문제가되지 않습니다.
당신이 외국인의 움직임에 어떤 문제가 있는지 지정할 수 있습니다
다음은 간단한 내가 만든 예는? 귀하의 코드를 보면서 나는 움직임 속도가 일정하지 않을 수도있는 프레임 속도에 달려 있다고 말할 것입니다. 그러나 아마도 그것은 문제가 아닙니다. – denahiro
코드에 대해 더 알지 못하면 피드백을 제공하기가 어렵지만 기본적으로 최상위 구성 요소에서 키 바인딩 (예 : 아니요, 실제로는)을 캡처해야합니다. 아마도 키 바인딩 API와 같은 것을 사용하고 이동 방향 매개 변수를 조정해야합니다. . 달성하고자하는 것에 따라, 새로운 키 스트로크가 등록 될 때까지 방향을 더하거나 뺄 수 있습니다. – MadProgrammer