Pobieranie pozycji obrazka w SDL

0

Witajcie. Mam klase :

class iMage
{
	bool isShow;
	SDL_Rect rect;
public:
	const char *sname;
	SDL_Surface *surf, *screen;
        // tutaj sa funkcje tej klasy..
        SDL_Rect getPos();
};
 

Dlaczego w funkcji getPos() skoro należy ona do klasy nie mam dostępnego surf ani screen ?
Wewnątrz getPos() mam

return surf->clip_rect;
 

Według dokumentacji http://sdl.beuc.net/sdl.wiki/SDL_Surface clip_rect jest typu SDL_Rect więc się zgadza. Czemu w tej funkcji surf jest "undeclared identifier" ?

#Edit: Dodam, że w innych funkcjach tej klasy, surf i screen działa bez problemu

Drugie moje pytanie [po edicie]:
Jak otworzyć konsolę w sdl ? Wyskakuje mi tylko okno główne, gdy chce coś z cout'a wypisać to nie mam jak bo nie ma konsoli(MSVC 2010) <_< [w code blocks jest]

0

Jeżeli definicja funkcji getPos() jest poza ciałem klasy, to powinna wyglądać tak:

SDL_Rect iMage::getPos()
{
    tutaj kod;
}

Jeżeli masz tak a nadal nie działa, to pokaż więcej kodu, bo to tylko wynikło z moich domysłów .

Jeśli chodzi o konsolę... Gdy korzystasz z funkcji WinMain, to sam musisz sobie stworzyć okno. Program nie ma wówczas ustawionych strumieni, więc je także trzeba ustawić samemu. Poczytaj sobie to: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681944%28v=vs.85%29.aspx

Możesz to zrobić prościej: utwórz w Visualu 'Console application' i wtedy twój program pokaże zwykłą konsolę, po czym wyświetli właściwe okno z SDLem... tak przynajmniej kiedyś działało xD

1 użytkowników online, w tym zalogowanych: 0, gości: 1