본문 바로가기
개발 일지

비주얼 베이직(vb.net)으로 슈팅게임 만들기 - 3. HP, exp바

by PrintedLove 2020. 10. 9.

안녕하세요! 3번째 일지입니다.

시험기간이 코앞이라 학과 공부하느라 프로젝트 진행이 더디네요.. 그래도 시험 전에 끝내버리도록 하겠습니다!

 

바로 영상입니다.

 

애니메이션을 위한 스프라이트 시트 클래스가 추가되었습니다.

새로 추가된 getSprite 함수로 비트맵 배열을 생성해 받아옵니다.

 

Public Function GetSprite(ByVal file_name As String, ByVal number As Int16) As SpriteSheet
        Dim strImageName As String = Application.ExecutablePath

        strImageName = strImageName.Substring(0, strImageName.LastIndexOf("\bin")) & "\image\" & file_name

        If IO.File.Exists(strImageName) Then
            Dim img As Image = Image.FromFile(strImageName)
            Dim bm(number) As Bitmap
            Dim xsize = img.Width \ number
            Dim ysize = img.Height

            For index As Integer = 0 To number
                bm(index) = New Bitmap(xsize, ysize)

                Using g As Graphics = Graphics.FromImage(bm(index))
                    g.DrawImage(img, 0, 0, New RectangleF(index * xsize, 0, xsize, ysize), GraphicsUnit.Pixel)
                End Using
            Next

            img.Dispose()

            Return New SpriteSheet(bm, xsize, ysize)
        Else
            Throw New Exception(String.Format("Cannot load _image '{0}'", strImageName))
            Return Nothing
        End If
    End Function

 

또한, 이제 게임 루프의 틱 처리를 스레드를 생성해 처리합니다. 렉과 메모리 소모를 줄여 보았습니다.

FPS를 50에서 100으로 올려 더욱 부드럽게 움직이도록 만들었습니다.

 

다음에는 적들과 아이템들이 추가될 예정입니다.

 

다음 게임의 소스코드는 아래 링크에서 확인하실 수 있습니다!

 

PrintedLove/VisualBasic-Shooting-Game

shooting game project made with Visual Basic. Contribute to PrintedLove/VisualBasic-Shooting-Game development by creating an account on GitHub.

github.com

 

댓글