Można zmienić kolor fontu poprzez funkcję tileSet::changeColor.
Indeks każdego znaku w kontenerze jest taki sam jak jego reprezentacja w standardowym kodzie ASCII.
Definicja funkcji drukującej dla okna znajduje się w "engine2d\screen.cpp". Jej deklaracja wygląda w ten sposób:
_SIZE print( tileSet* font, _SURFACE* d, _POS x, _POS y, const char *fmt, ... ); |
Funkcja zwraca liczbę wyświetlonych znaków (typ _SIZE i _POS jest wcześniej zdefiniowany jako unsigned int). Argument _SURFACE* d to jest powierzchnia gdzie ma się znaleźć dany tekst zapisany fontem (wskaźnik do obiektu typu tileSet). Lista argumentów dla tej funkcji jest przetwarzana przy pomocy vsprintf z biblioteki standardowej C.
Każde okno posiada flagę anchoredText, którą się ustawia wtedy, gdy chcemy, aby drukowany napis był zakotwiczony na danej powierzchni (wraz z przyjęciem kanału alfa powierzchni tła).
Powierzchnie z napisem można umieścić na macierzy sektorów, o której wspominałem tutaj. Lub też na wektorze wskaźników do obiektów wizualnych: vector< vector<visObj*> > vObjs; (dla każdej warstwy oddzielny wektor), gdy nie chcemy umieszczać ich w macierzy sektorów. Przy nanoszeniu całego obrazu okna na wyświetlacz, poszczególne warstwy wektorów są wyświetlane zaraz po określonej warstwie macierzy.
Brak komentarzy:
Prześlij komentarz