여기는 아까 했던 신호등과 비슷한 알고리즘에 조금만 변형된 것이다.
움짤은 사진 여러장을 빠른 속도로 바꿔가면서 움직이도록 하는 것이다.
그러니 사진 여러장을 준비하고. 다음과 같이 사진의 장 수만큼 값을 정해준다.
전역변수로 설정해 다른 함수에서도 이 값을 끌어올 수 있다.
Dim Sajin_1 As Integer = 1
Dim Sajin_1_MAX As Integer = 9
Dim Sajin_2 As Integer = 1
Dim Sajin_2_MAX As Integer = 18
Dim Sajin_3 As Integer = 1
Dim Sajin_3_MAX As Integer = 12
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
PictureBox1.Image = Image.FromFile(CurDir() & "\\퍼즐\\" & Sajin_1 & ".jpg")
Sajin_1 += 1
If Sajin_1 > Sajin_1_MAX Then
Sajin_1 = 1
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
PictureBox2.Image = Image.FromFile(CurDir() & "\\큐브\\" & Sajin_2 & ".jpg")
Sajin_2 += 1
If Sajin_2 > Sajin_2_MAX Then
Sajin_2 = 1
End If
End Sub
Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
PictureBox3.Image = Image.FromFile(CurDir() & "\\시계\\" & Sajin_3 & ".jpg")
Sajin_3 += 1
If Sajin_3 > Sajin_3_MAX Then
Sajin_3 = 1
End If
End Sub
이후 각각의 타이머가 움직이며 사진이 바뀌도록 설정한다.
그 다음 스크롤바를 움직이면 값이 변하도록 하는 코드이다
Private Sub HScrollBar1_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar1.Scroll
Timer1.Interval = HScrollBar1.Value
End Sub
Private Sub HScrollBar2_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar2.Scroll
Timer2.Interval = HScrollBar2.Value
End Sub
Private Sub VScrollBar1_Scroll(sender As Object, e As ScrollEventArgs) Handles VScrollBar1.Scroll
Timer3.Interval = VScrollBar1.Value
End Sub
이후 코드는 아주 단순하다. 그래서 길다.
' 맞춰지는 퍼즐 ---------------------------------------------------------------------
Private Sub 빠르게ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 빠르게ToolStripMenuItem.Click
Timer1.Interval = 10
End Sub
Private Sub 보통ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 보통ToolStripMenuItem.Click
Timer1.Interval = 100
End Sub
Private Sub 느리게ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 느리게ToolStripMenuItem.Click
Timer1.Interval = 500
End Sub
' 맞춰지는 퍼즐 ---------------------------------------------------------------------
' 큐브 아트 ---------------------------------------------------------------------
Private Sub 빠르게ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles 빠르게ToolStripMenuItem1.Click
Timer2.Interval = 10
End Sub
Private Sub 보통ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles 보통ToolStripMenuItem1.Click
Timer2.Interval = 100
End Sub
Private Sub 느리게ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles 느리게ToolStripMenuItem1.Click
Timer2.Interval = 500
End Sub
' 큐브 아트 ---------------------------------------------------------------------
' 움직이는 시계 ---------------------------------------------------------------------
Private Sub 빠르게ToolStripMenuItem2_Click(sender As Object, e As EventArgs) Handles 빠르게ToolStripMenuItem2.Click
Timer3.Interval = 10
End Sub
Private Sub 보통ToolStripMenuItem2_Click(sender As Object, e As EventArgs) Handles 보통ToolStripMenuItem2.Click
Timer3.Interval = 100
End Sub
Private Sub 느리게ToolStripMenuItem2_Click(sender As Object, e As EventArgs) Handles 느리게ToolStripMenuItem2.Click
Timer3.Interval = 500
End Sub
' 맞춰지는 퍼즐 ---------------------------------------------------------------------
Private Sub 빠르게ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles 빠르게ToolStripMenuItem3.Click
Timer1.Interval = 10
Timer2.Interval = 10
Timer3.Interval = 10
End Sub
Private Sub 보통ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles 보통ToolStripMenuItem3.Click
Timer1.Interval = 100
Timer2.Interval = 100
Timer3.Interval = 100
End Sub
Private Sub 느리게ToolStripMenuItem3_Click(sender As Object, e As EventArgs) Handles 느리게ToolStripMenuItem3.Click
Timer1.Interval = 500
Timer2.Interval = 500
Timer3.Interval = 500
End Sub
그 이외의 기능은 다음과 같이 정리한다.