> Java > java지도 시간 > 수정된 'move()' 메서드는 별 개체가 프레임을 떠나는 것을 어떻게 방지합니까?

수정된 'move()' 메서드는 별 개체가 프레임을 떠나는 것을 어떻게 방지합니까?

Patricia Arquette
풀어 주다: 2024-11-29 07:11:09
원래의
260명이 탐색했습니다.

How Does the Modified `move()` Method Prevent Star Objects from Leaving the Frame?

Star 클래스의 move() 메소드는 화면 주위에서 별 객체를 이동하는 데 사용됩니다. 이 메서드의 원래 구현에서는 별이 프레임 경계 밖으로 이동하는 경우를 제대로 처리하지 못했습니다. 이로 인해 별이 사라지거나 다른 별과 겹칠 수 있으며 이는 원하는 동작이 아닙니다. move() 메서드의 수정된 버전은 별의 위치가 프레임 경계 외부에 있는지 확인하고 필요한 경우 이동 방향을 반대로 바꾸어 이 문제를 해결합니다. 이렇게 하면 별이 항상 프레임 경계 내에 유지되고 서로 겹치지 않게 됩니다.

다음은 move() 메서드의 수정된 버전입니다.

public void move() {
    if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) {
        xIncr = -xIncr;
    }
    if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) {
        yIncr = -yIncr;
    }
    translate(xIncr, yIncr);
    location.setLocation(location.x + xIncr, location.y + yIncr);
}
로그인 후 복사

In 이 수정된 버전에는 별의 위치가 프레임 경계 밖에 있는지 확인하는 검사를 추가했습니다. 별의 위치가 프레임 경계 밖에 있으면 별이 프레임 안으로 다시 들어갈 수 있도록 이동 방향을 바꿉니다. 이렇게 하면 별이 항상 프레임 경계 내에 유지되고 서로 겹치지 않게 됩니다.

위 내용은 수정된 'move()' 메서드는 별 개체가 프레임을 떠나는 것을 어떻게 방지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿