Wczytanie obrazka w allegro

Wczytanie obrazka w allegro
XI
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:19
0
Kopiuj
procedure start;
var
  logo : ^al_bitmap;
begin
  al_clear_to_color(al_screen, al_makecol(60,60,60));
  logo := NIL;
  logo := al_load_bmp('logo.bmp', al_default_palette);

  al_masked_blit(logo, al_screen, 0, 0, screenWidth div 2 - 200, ScreenHeight div 4, 400,150 ); 
  al_textout_centre_ex(al_screen,al_font,'Press any key to continue...', screenWidth div 2, screenHeight div 2 + screenHeight div 10, al_makecol(0, 255, 0), -1);
  al_readKey();
  al_destroy_bitmap(logo);
end;                         

program nie chce się skompilować, ponieważ nie czyta al_default_palette, a robię http://www.binboy.org/tworzenie-gier/tutorials/522/show/lekcja04.html tak jak tutaj jest napisane. Ktoś wie jak temu zaradzić?

edytowany 1x, ostatnio: xiviali
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około godziny
  • Lokalizacja:Tuchów
  • Postów:12171
0

program nie chce się skompilować, ponieważ nie czyta al_default_palette [...]

A może tak wkleisz dokładną treść błędu, zamiast marnować czas na dziwne opisy typu "nie czyta"..?


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 1x, ostatnio: flowCRANE
XI
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:19
0
Kopiuj
Error: (4025) Incompatible type for arg no. 2: Got "AL_PALETTE", expected "AL_PALETTEptr"
Hint: (5039) Found declaration: al_load_bmp(AnsiString,AL_PALETTEptr):^AL_BITMAP; CDecl;
edytowany 1x, ostatnio: flowCRANE
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około godziny
  • Lokalizacja:Tuchów
  • Postów:12171
2

Komunikat jasno informuje, że w argumencie drugim oczekiwany jest wskaźnik AL_PALETTEptr, a nie cała paleta typu AL_PALETTE; Nie znam tej biblioteki, ale poniższy fragment powinien się przynajmniej skompilować:

Kopiuj
logo := al_load_bmp('logo.bmp', @al_default_palette);

O ile deklaracje tych dwóch typów są ze sobą powiązane, czyli typy te zadeklarowane są według poniższego schematu:

Kopiuj
type
  AL_PALETTE    = {coś tam};
  AL_PALETTEptr = ^AL_PALETTE;

Jeśli tak jest - będzie się kompilować i działać prawidłowo, chyba że coś innego jest popsute.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
edytowany 6x, ostatnio: flowCRANE
XI
faktycznie się kompiluje i działa, obrazek się wczytał! :) Dzięki wielkie.
flowCRANE
A widzisz, jednak potrzebował wskaźnika; Zakończ więc wątek;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.