이것은 아마도 기본적인 문제 일 수 있지만 다른 기사를 찾을 수없는 것 같습니다.Java에서 튀는 공
어쨌든, 나는 자바로 작은 튀김 공 프로그램을 작성하여 기본 기술을 시험하고 확장했습니다. 이 프로그램은 그냥 튀는 공을 던져 넣는 것입니다. 잘하면가 잠시 튀어 나옵니다. 원래 프로그램은 정상적으로 작동했지만 이제는 프로그램에 중력을 추가하려고 시도했습니다. 중력은 실제로는 정상적으로 작동하지만, 일단 반송이 실제로 작아지면 매우 짧은 시간 동안 애니메이션이 엉뚱 해져서 공의 위치가 계속 감소합니다. 나는 문제를 파악하려고 노력했으나 나는 그것을 볼 수 없다. 어떤 도움이 가장 환영받을 것입니다.
public final class Ball extends Rectangle {
float xspeed = 1.0f; float yspeed = 1.0f; float gravity = 0.4f;
public Ball(float x, float y, float width, float height) {
super(x, y, width, height);
}
public void update(){
yspeed += gravity;
move(xspeed, yspeed);
if(getX() < 0){
xspeed = 1;
}
if(getX() + getWidth() > 320){
xspeed = -1;
}
if(getY() < 0){
yspeed = 1;
}
if(getY() + getHeight() > 200 && yspeed > 0){
yspeed *= -0.98f;
}
if(getY() + getHeight() > 200 && yspeed < 0){
yspeed *= 0.98f;
}
}
public void move(float x, float y){
this.setX(getX()+x);
this.setY(getY()+y);
}
}
편집 : 감사 보인다 불규칙적 인 움직임을 분류 한합니다. 나는 그것이 멈추었을 때 내 공이 멈추는 것을 멈출 수있는 방법을보기 위해 여전히 고심하고있다. 지금은 바운스를 멈추고 "바닥"을지나 계속 움직일 것입니다. 내 yspeed + 중력선과 관련이 있다고 생각합니다. 나는 운동을 멈추는 방법을 알 수 없다.
움직임 어쩌면 뭔가를 초당 30 업데이트를하고있는 가정하면 델타, 절대하지 값을 가질 것, 당신의 공은 – paxdiablo
ㅎ :-) 우주의 가장자리를 비행 가능성 , 죄송합니다. 결정된. – Blorgbeard