반응형
C#, 윈폼에서 타이머와 이미지리스트 컨트롤을 이용해서 애니메이션을 표현해 봤습니다.
이미지는 픽처박스 컨트롤에 출력했으며, Location 속성을 이용해서 앞으로만 이동하도록 만들었습니다.
1. 프로젝트 생성
Windows Forms 앱 또는 Windows Forms 앱(.NET Framework)
2. 폼에 컨트롤을 배치합니다.
PictureBox 1개
버튼 2개 - 시작, 종료 버튼
Timer 1개
ImageList 1개
3. ImageList에 이미지를 추가합니다.
Images 컬렉션 속성을 이용해서 추가합니다.
여기에서 사용하는 이미지는 아래 링크에서 받을 수 있습니다.
Image의 Size 속성은 "64, 64"로 설정했습니다.
Timer의 Interval 속성은 "100"으로 설정했습니다.
다음 코드를 작성합니다.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp_timer
{
public partial class Form1 : Form
{
int n, x, y;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
n = 0;
x = pictureBox1.Location.X;
y = pictureBox1.Location.Y;
pictureBox1.Image = imageList1.Images[0];
timer1.Start();
}
private void btnStart_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void btnStop_Click(object sender, EventArgs e)
{
timer1.Stop();
}
private void timer1_Tick(object sender, EventArgs e)
{
n++;
if (n > 7) n = 0;
x++;
pictureBox1.Location = new Point(x, y);
pictureBox1.Image = imageList1.Images[n];
}
}
}
반응형
'C#' 카테고리의 다른 글
(C#) 구조체 struct 예제: 성적 처리 (0) | 2023.05.31 |
---|---|
(C#) DateTime 구조체: 날짜 시간 나타내기 (0) | 2023.05.30 |
(C#) 파일명에서 확장자, 파일명(확장자가 없는) 분리하기 (0) | 2023.05.24 |
(C#) Timer: 디지털 시계 만들기 (0) | 2023.05.18 |
(C#) PictureBox에 이미지 출력하기, SizeMode 속성 (0) | 2023.05.18 |