Visual Basic의 Image 및 Timer 컨트롤을 사용하여 애니메이션을 쉽게 구현할 수 있습니다. 이 기사에서는 Visual Basic 애니메이션 프로그래밍의 기본 원리와 세 가지 유형의 애니메이션을 구현하기 위한 프로그래밍 기술을 소개합니다.
1. 기본원리
----애니메이션은 일련의 관련 이미지를 화면에 빠르게 표시하여 구현되는 움직임의 시뮬레이션입니다. 따라서 애니메이션을 구현하는 기본은 이미지의 표현과 이미지의 빠르고 규칙적인 움직임이나 변화이다.----Visual Basic에서는 LoadPicture 함수를 사용하여 BMP, ICO 및 WMF 형식의 이미지 파일을 메모리에 로드하고 함수 반환 값을 Image 개체의 Picture 속성에 할당하여 Image 개체에 이미지를 표시합니다. 이미지를 이동하거나 변경하는 세 가지 기본 방법은 다음과 같습니다.
----Timer 개체의 Enabled 속성은 Timer 이벤트가 유효한지 여부를 결정합니다. Enabled 속성을 True로 설정하면 Timer 이벤트(예: 애니메이션 시작)가 시작되고 False로 설정하면 Timer 이벤트(예: 애니메이션 중지)가 무효화됩니다.
2. 움직이지 않는 애니메이션
----위치 없음 애니메이션은 애니메이션 개체가 움직이지 않지만 이미지가 계속 바뀌는 것을 의미합니다. 전형적인 예는 책을 넘기는 것입니다. 모션 없는 애니메이션을 구현하는 방법은 Image 객체와 Timer 객체를 설정하고, Timer 이벤트 중에 LoadPicture 함수를 호출하여 다양한 이미지를 로드하고, Image 객체의 Picture 속성을 할당하여 객체에 다양한 이미지를 표시하는 것입니다. 이미지 변경을 구현합니다.----다음은 플립북 애니메이션의 예입니다. 프로그램이 시작되면 열린 책이 양식에 표시됩니다. 책 넘기기를 시작하려면 마우스 왼쪽 버튼으로 책을 클릭하고, 책 뒤집기를 중지하려면 마우스 왼쪽 버튼으로 책을 다시 클릭하세요. 비트맵 파일 book1.bmp~book4.bmp는 각각 책을 넘길 때 넘기는 페이지의 다양한 위치를 나타냅니다. 이들은 현재 프로젝트가 있는 디렉토리에 저장됩니다.
----애니메이션을 표시해야 하는 폼(Form1)에 Image 개체 Image1과 Timer 개체 Timer1을 설정하고, 해당 속성은 다음 표와 같이 설정합니다. 미등록 속성은 기본값을 사용합니다.
.
.
.
3. 단일 프레임 변위 애니메이션
----단일 프레임 변위 애니메이션은 동일한 이미지의 위치가 지속적으로 변경되어 형성된 애니메이션을 의미합니다. 대표적인 예가 구름이 바람에 날리는 경우입니다. 단일 프레임 변위 애니메이션을 프로그래밍하는 방법은 Timer 이벤트 중에 Image 개체의 Move 메서드를 호출하여 이미지를 이동하는 것입니다.----아래는 구름의 움직임 예시입니다. 프로그램이 시작되면 구름이 폼에 표시됩니다. 마우스 왼쪽 버튼으로 구름을 클릭하면 구름이 폼의 경계에 닿으면 이동 방향이 변경됩니다. 다시 마우스 왼쪽 버튼으로 구름을 클릭하면 구름이 움직이기 시작합니다. 현재 프로젝트가 위치한 디렉터리에 비트맵 파일 cloud.bmp가 저장됩니다.
----애니메이션을 표시해야 하는 폼(Form1)에 Image 개체 Image1과 Timer 개체 Timer1을 설정하고, 해당 속성은 다음 표와 같이 설정합니다. 미등록 속성은 기본값을 사용합니다.
.
.
.
----구름이 경계에 부딪혀 반대 방향으로 이동할 때 이는 DetaX 및 DetaY의 부호를 변경하여 달성됩니다.4. 다중 프레임 변위 애니메이션
----다중 프레임 변위 애니메이션은 비변위 애니메이션과 단일 프레임 변위 애니메이션의 특성을 결합한 가장 복잡한 애니메이션입니다. 자연의 대부분의 움직임은 새의 비행과 같은 다중 프레임 변위의 특성을 가지고 있으며 새의 위치가 움직이는 동안 날개도 퍼덕입니다. 다중 프레임 변위 애니메이션을 구현하기 위해서는 Timer 이벤트 과정에서 Image 객체의 이미지 교체와 위치 이동이 동시에 처리되어야 합니다.----다음은 새가 날아가는 예입니다. 프로그램이 시작되면 새가 폼에 표시됩니다. 마우스 왼쪽 버튼을 클릭하면 새가 날개를 퍼덕거리기 시작합니다. 새가 폼의 경계에 닿으면 비행 방향이 변경됩니다. 마우스 왼쪽 버튼을 다시 클릭하면 새가 날아가는 것을 멈춥니다. Bird1.bmp~bird4.bmp 비트맵 파일은 각각 새가 날 때의 다양한 날개 위치를 나타냅니다. 이들은 현재 프로젝트가 있는 디렉터리에 저장됩니다.
----애니메이션을 표시해야 하는 폼(Form1)에 Image 개체 Image1과 Timer 개체 Timer1을 설정하고, 해당 속성은 다음 표와 같이 설정합니다. 미등록 속성은 기본값을 사용합니다.
.
.
.
5. 줌 애니메이션
----풍선의 팽창 또는 수축은 확대/축소 애니메이션의 전형적인 예입니다. Timer 이벤트 중에 Image 개체의 Width 및/또는 Height 속성을 수정하여 확대/축소 애니메이션을 구현할 수 있습니다. 그러나 개체의 동심 크기 조정을 표시하려면 동시에 이미지 개체도 이동해야 합니다.----다음은 공중(동심원)에서의 풍선 스케일링을 시뮬레이션하는 예입니다. 프로그램이 시작되면 폼에 풍선이 표시됩니다. 마우스 왼쪽 버튼을 클릭하면 풍선이 폼의 경계에 닿으면 원래 크기로 줄어듭니다. , 다시 확장됩니다. 그런 다음 풍선을 마우스 왼쪽 버튼으로 클릭하면 풍선 크기 조정이 중지됩니다. 비트맵 파일 Balloon.bmp는 현재 프로젝트가 있는 디렉터리에 저장됩니다.
----애니메이션을 표시해야 하는 폼(Form1)에 Image 개체 Image1과 Timer 개체 Timer1을 설정하고, 해당 속성은 다음 표와 같이 설정합니다. 미등록 속성은 기본값을 사용합니다.
물체
재산
설정값
이미지1
그림
...(프로젝트 파일 경로)/Balloon.bmp
.
.
.
->