[Allegro,C++] Allegro wyświetlanie bitmap przez funkcje składowe klasy.
Ostatnio zmodyfikowano 2010-09-29 21:19
Mateusz124 Temat założony przez niniejszego użytkownika |
[Allegro,C++] Allegro wyświetlanie bitmap przez funkcje składowe klasy. » 2010-09-28 21:14:30 Witam wszystkich, mam pewien problem, mianowicie. Zacząłem pisać prostą grę platformową. Zrobiłem klasę klocek która w przyszłym programie będzie tworzyła platformy. Na razie wygląda ona tak:
class Klocek { public: Klocek(int kx,int ky){x=kx;y=ky;} ~Klocek(){};
void Rysuj(){masked_blit(klocek,bufor,0,0,x,y,50,100);}
private: int x; int y;
};
Jednak oczywiście przy jej kompilacji pojawiają się błędy. Wynikają one z tego, że klocek i bufor w funkcji masked_blit nie są jeszcze zadeklarowane, ponieważ mogę je zadeklarować dopiero w funkcji main. I tu moje pytanie. Co zrobić aby ta funkcja skompilowała się. |
|
kamillo121 |
» 2010-09-28 21:36:17 Rozwiązań wiele, ale zabierając się za takie rzeczy powinieneś mieć już jakiś pogląd na ten temat :) W każdym bądź razie możesz, jako argumenty metody przyjmować właśnie bufor i bitmapę kafla, możesz w klasie zadeklarować zmienną przechowującą obraz kafla, możesz przechowywać w klasie wskaźnik na bufor itd, sam wybierz |
|
lenrokskate |
» 2010-09-29 15:31:01 co za koleś... deklaruj zmienne globalnie a inicjalizuj je w funkcji... |
|
ThudPoland |
» 2010-09-29 17:58:04 Nie lepiej zrobić to jeszcze bardziej obiektowo - klasa będzie składała z różnych tam dupereli, a także z BITMAPY. Wystarczy napisać funkcję wczytania bitmapy do klasy. |
|
lenrokskate |
» 2010-09-29 18:05:03 i w ten sposób 10^6 klas = 10^ bitmap = zamęczenie kompa |
|
ThudPoland |
» 2010-09-29 18:17:15 A skąd wiesz, czy nie chce użyć tylko na przykład 20 bitmap? ;) |
|
malan |
» 2010-09-29 19:43:15 i w ten sposób 10^6 klas(...) |
Wulgaryzmy mi się na usta cisną... Nie wystarczy jedna klasa cBitmap, która obsługiwałaby wyświetlanie bitmapy na buforze, ładowanie bitmapy do pamięci itp.? W klasie Klocek tworzysz wskaźnik do klasy obsługującą bitmapę ( cBitmap) i nie musisz pisać 10^6 klas... Oczywiście "profesjonalnie" to trzeba by zrobić klasę odpowiadającą za wyświetlanie bitmapy, za ładowanie jej do pamięci itd., ale darujmy to sobie... |
|
ThudPoland |
» 2010-09-29 20:01:09 Darować nie trzeba - to zależy od wielkości projektu. ;) |
|
« 1 » 2 |