Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ Allegro - tablica kolorow makecol

Ostatnio zmodyfikowano 2014-09-22 13:38
Autor Wiadomość
Roofy5
Temat założony przez niniejszego użytkownika
C++ Allegro - tablica kolorow makecol
» 2014-09-22 12:37:57
Witam!

W Allegro programuję od niedawna.
Mam pewien problem.

Tworzę program rysujący funkcje liniowe i chciałbym żeby każda funkcja miała inny kolor.
Z góry nie wiem ile będzie funkcji, więc postanowiłem, że każda nowo dodana funkcja będzie pobierała kolor z tablicy kolorów.

Napisałem taką oto tablicę:

C/C++
const int tablica_kolorow[ 20 ] =
{
    makecol( 0, 0, 255 ), //niebieski
    makecol( 255, 0, 0 ), //czerwony
    makecol( 255, 255, 0 ), //zolty
    makecol( 0, 255, 255 ), //turkusowy
    makecol( 255, 0, 255 ), //rozowy
    makecol( 192, 192, 192 ), //szary
    makecol( 255, 102, 0 ), //pomaranczowy
    makecol( 128, 0, 0 ), //brazowy
    makecol( 0, 128, 255 ), //jasno-niebieski
    makecol( 153, 0, 204 ), //sliwkowy
    makecol( 102, 0, 102 ), //sliwka2
    makecol( 102, 51, 0 ), //orzechowy
    makecol( 153, 153, 51 ), //oliwkowy
    makecol( 0, 153, 51 ), //trawa
    makecol( 51, 102, 153 ), //desertblue
    makecol( 0, 0, 255 ), //niebieski
    makecol( 255, 0, 0 ), //czerwony
    makecol( 255, 255, 0 ), //zolty
    makecol( 0, 255, 255 ), //turkusowy
    makecol( 255, 0, 255 ), //rozowy
};

a funkcja będzie rysowana w taki sposob:

C/C++
line( bufor,........, tablica_kolorow[ nr indeksu ] );

problem w tym że funkcja nie pobiera żadnego koloru..

Chciałem spprawdzić co jest nie tak, więc wypisałem sobie na ekranie zawartość tablicy kolorów.
Pojawiły mi się same jedynki i 2 zera.
Tak jakby tablica została źle zapisana.

makecol zwraca int więc wszystko powinno być ok. Próbowałem zrobić tablicę long int ale to nic nie dało.


To mój pierwszy temat na tym forum - proszę o wyrozumiałość ;)

Pozdr. Roofy

P.S.
Wersja Allegro 4.2.3, głębokość kolorów ustawiona na 32
P-117332
OSA_PL
» 2014-09-22 13:01:19
Z tego co czytam w dokumentacji to makecol w zależności od aktualnego trybu graficznego wywołuje odpowiednie funkcje. Deklarujesz tą tablice przed czy po ustawieniu głębi kolorów?
P-117333
Roofy5
Temat założony przez niniejszego użytkownika
» 2014-09-22 13:06:56
Tablica ustawiona jest globalnie.
P-117334
OSA_PL
» 2014-09-22 13:09:29
Musisz wywoływać makecol po ustawieniu głębi kolorów inaczej nie będzie poprawnie działać.
P-117335
Roofy5
Temat założony przez niniejszego użytkownika
» 2014-09-22 13:38:27
Dzięki wielkie.

Niby banalne ale trzeba znać dokumentację.

Stworzyłem dodatkową funkcję, która wczytuje kolory do tablicy, a jest odpalana zaraz po inicjacji allegro.

Jeszcze raz dzięki.
Do zamknięcia
P-117336
« 1 »
  Strona 1 z 1