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

[Allegro 5] al_get_pixel, a porównywanie kolorów

Ostatnio zmodyfikowano 2013-09-24 19:10
Autor Wiadomość
marianekA
Temat założony przez niniejszego użytkownika
[Allegro 5] al_get_pixel, a porównywanie kolorów
» 2013-09-24 12:40:01
Próbuję sił w Allegro 5,
Przepisuję gierkę napisaną w A4 i natknąłem na problem
z al_get_pixel() z którym nie mogę sobie poradzić.
Wiem wiem, że jest już o tym jeden post ale mimo
to kombinuje jak koń pod górkę i stoję w miejscu.
Zmienna przypisana pod al_get_pixel działa mi poprawnie
bo bez problemu wyświetla zawartość na ekranie
ale w warunku if już nie działa - pewnie go źle formułuję,
bo mam taki komunikat:

error: no match for 'operator==' in 'pix == al_map_rgb(0, 0, 0)'

C/C++
ALLEGRO_KEYBOARD_STATE key_state;
ALLEGRO_MOUSE_STATE myszka;
al_get_keyboard_state( & key_state );

while( !al_key_down( & key_state, ALLEGRO_KEY_ESCAPE ) )
{
   
    al_get_keyboard_state( & key_state );
    al_get_mouse_state( & myszka );
    al_draw_bitmap( bufor, 0, 0, 0 );
    //
    mx = myszka.x;
    my = myszka.y;
    pix = al_get_pixel( bufor, mx, my );
    al_draw_textf( f16, al_map_rgb( 255, 255, 0 ), 300, 10, 0, "%d", pix );
   
    if( pix == al_map_rgb( 0, 0, 0 ) ) al_draw_textf( f16, al_map_rgb( 255, 255, 0 ), 300, 30, 0, "%d", pix );
    //
    al_flip_display();
    al_rest( 0.01 );
}
 
Próbowałem podstawiać do Ifa liczbę zamiast koloru i też na nic.
P-92578
SeaMonster131
» 2013-09-24 13:18:44
An ALLEGRO_COLOR structure describes a color in a device independent way. Use al_map_rgb et al. and al_unmap_rgb et al. to translate from and to various color representations.

[Allegro 5] Problem z funkcja Sprawdzania Pixeli
Przedostatni post na 1. stronie.
P-92584
marianekA
Temat założony przez niniejszego użytkownika
» 2013-09-24 14:07:35
SeaMonster131, patrzyłem na ten post wiele razy. Autor pisze w nim że z bitmapą mu działa - wzorowałem się na jego przykładzie. Czy bez rozbijania rgb się nie da? - to powinno być jak porównanie dwóch zmiennych.
Wygląda na to że zmienna przyporządkowana pod ALLEGRO_COLOR nie może być traktowana jak zwykła zmienna liczbowa...a w Allegro 4 to takie proste
P-92592
SeaMonster131
» 2013-09-24 14:27:29
To napisz sobie własną klasę, gdzie przeładujesz operator == ;) Zajmie to chwilkę, a jest bardzo pomocne.
P-92597
marianekA
Temat założony przez niniejszego użytkownika
» 2013-09-24 19:10:06
z tą klasą to nic nie wyjdzie bo jestem jeszcze za 'cienki',
robię z tymi składowymi rgb, nie jest to wygodne rozwiązanie
ale pewnie taki już urok Allegro 5...
P-92616
« 1 »
  Strona 1 z 1