TuxMan Opublikowano 9 Listopada 2008 Udostępnij Opublikowano 9 Listopada 2008 Siemka. Teraz tworzę swoje MMO w VB, które będzie się nazywać "Fibula" (bo w VB lepiej się robi MMOsy niż w Delphi czy C++) Tylko, że mam problem przy ładowaniu gry. Otóż wyświetla się komunikat: I gra się zamyka! A oto wadliwy kod (pogrubiona została ta linijka, która sprawia błąd): [...] Private Sub InitSurface(ByVal filename As String, ByVal StrPW As String, ByRef DDSD As DDSURFACEDESC2, ByRef DDSurf As DirectDrawSurface7) Dim sDc As Long Dim BMU As BitmapUtils Set BMU = New BitmapUtils With BMU Call .LoadByteData(filename) Call .DecryptByteData(StrPW) Call .DecompressByteData End With DDSD.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH DDSD.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN Or DDSCAPS_SYSTEMMEMORY DDSD.lWidth = BMU.ImageWidth DDSD.lHeight = BMU.ImageHeight Set DDSurf = DD.CreateSurface(DDSD) sDc = DDSurf.GetDC Call BMU.Blt(sDc) Call DDSurf.ReleaseDC(sDc) Call SetMaskColorFromPixel(DDSurf, 0, 0) Set BMU = Nothing End Sub [...] Co należy zrobić z tą linijką (lub z całym kodem), żeby normalnie gra wystartowała?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
adam014 Opublikowano 9 Listopada 2008 Udostępnij Opublikowano 9 Listopada 2008 Może najpierw zadeklaruj tą zmienną?Na jakim silniku pracujesz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TuxMan Opublikowano 9 Listopada 2008 Autor Udostępnij Opublikowano 9 Listopada 2008 Może najpierw zadeklaruj tą zmienną?Na jakim silniku pracujesz? Chaos Engine ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 10 Listopada 2008 Udostępnij Opublikowano 10 Listopada 2008 Łatwiej Ci jest w VB? W każdym języku by Ci było łatwiej z silnikiem odpowiednim ;p . Upewnij się, czy zmienna DDSD jest na pewno zadeklarowana, bo to sprawia błąd. Ewentualnie może nie być funkcji "DD.CreateSurface()". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TuxMan Opublikowano 10 Listopada 2008 Autor Udostępnij Opublikowano 10 Listopada 2008 Łatwiej Ci jest w VB? W każdym języku by Ci było łatwiej z silnikiem odpowiednim ;p . Upewnij się, czy zmienna DDSD jest na pewno zadeklarowana, bo to sprawia błąd. Ewentualnie może nie być funkcji "DD.CreateSurface()". Thx, Marmot ;). Zaraz to zrobię :) @Edit: Zadziałało! Zamykam temat ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi