비디오: JavaFX 28 - Bindings 2024
간단한 애니메이션 효과를 추가하여 JavaFX 응용 프로그램을 더욱 발전시킬 수 있습니다. 이 효과는 일반적으로 화면의 객체를 움직여 응용 프로그램을 활성화시킵니다.
특수 효과를 적용하고 속성 바인딩을 통합하여 컨트롤의 응답 성을 높이고 사운드 및 미디어를 사용하여 오디오 및 시각적 관심을 제공하여 JavaFX 응용 프로그램의 모양과 느낌을 개선 할 수 있습니다.
내년 오스카상 최우수 애니메이션 상 수상에 대한 희망을 얻지 마십시오. Pixar와 응용 프로그램에서 공동 작업을했다고 생각하는 사람은 아무도 없습니다. 여전히 이러한 기술을 사용하여 응용 프로그램에 흥미로운 윙윙 거리기를 추가 할 수 있습니다.
JavaFX 애니메이션의 기본 개념은 규칙적인 간격으로 하나 이상의 노드 속성 값을 조작하는 것입니다. 예를 들어 볼을 나타내는 원이 화면 왼쪽에서 오른쪽으로 이동하려고한다고 가정합니다. 화면의 너비가 600 픽셀이라고 가정하면 posX 속성을 0에서 600으로 변경하여 원을 애니메이션화합니다.
두 가지 요소가 공이 화면에서 얼마나 빨리 움직이는 지에 영향을줍니다: posX 속성에 대한 각 변경 사이의 경과 시간과 각 시간 간격마다 posX 속성에 추가하는 증가량입니다.
예를 들어, 각 시간 간격마다 posX 속성에 3을 더하면 600으로 가려면 200 간격이 필요합니다 (3 x 200 = 600). 간격이 10 밀리 초 (초당 100 회)마다 발생하면 볼이 화면을 왼쪽에서 오른쪽으로 가로 지르는 데 2,000 밀리 초 - 2 초가 소요됩니다.
어려운 방법및 쉬운 방법: 어려운 방법 에서는 타이머 이벤트를 수동으로 설정해야하며, 타이머 이벤트가 발생할 때 호출되는 이벤트 리스너를 작성하십시오. 이벤트 리스너에서 애니메이션을 적용하려는 노드의 속성을 조작합니다.
-
예를 들어 화면에서 볼을 움직이려면 10 밀리 초마다 틱하는 타이머 간격을 설정하십시오. 각 진드기에서 볼의 x 위치를 3만큼 증가시킵니다. 그러면 볼을 움직이기 위해 타이머를 총 200 회 실행하도록 설정합니다. 이 애니메이션을 설정하려면 타임 라인과 KeyFrame의 두 클래스를 사용해야하며 볼을 이동하기 위해 ActionEvent 수신기를 작성해야합니다.
쉬운 방법
은 JavaFX에서 제공하는 바로 가기 클래스를 활용하여 일반적인 유형의 애니메이션을 쉽게 구현합니다.
-
예를 들어, TranslateTransition 클래스를 사용하여 지정된 시간 동안 화면의 한면에서 다른면으로 원을 쉽게 이동할 수 있습니다. 공의 x 위치를 0에서 600까지 2 초 동안 변경하려고한다는 것을 지정하는 TranslateTransition을 설정합니다. TranslateTransition 클래스가 세부 사항을 처리합니다.