No ale co Ty chcesz w końcu zrobić? Załadować bitmapę z zasobów programu, czy po prostu z pliku?
Instalacja bibliotek SDL dla Codeblocks
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Chcę wczytać z pliku :)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Chcę skompilować program, aby w efekcie utworzył się plik .exe, przez którego będzie mi wczytywało mapę "route.png" (renderowaną) i poruszające się po niej pojazdy.
Car1.png - gracz
car2.png - przeciwnik\komputer
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38

Proszę. Treść odpowiedzialna za renderowanie mapy

I pojazdów
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
http://pastebin.com/pc8yvwsr
Udostępniam całość.
Jak wczytać tę mapę poprawnie?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Robiłem tak, jak jest na filmie:
(w 28 minucie widać), jak jest na etapie wpisywania tych funkcji do programu. I działa.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2440
Nie obchodzi mnie, co jest na tym filmie. Pytam Ciebie, co zwraca wspomniana funkcja.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
NULL to brak informacji.
Więc wszędzie, gdzie jest, mam go usunąć/zastąpić innym?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Panie Złoty, toć to ja się pytam..
Chcę żeby to cudo działało. Byle jak, ale działało :(
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2440
Jak rozumiem, nie ładują Ci się grafiki, dlatego zadałem pytanie, co zwraca funkcja ładująca je z dysku. Dostałem jakąś dziwaczną odpowiedź, która nic mi nie mówi. Więc skąd mam wiedzieć, co nie działa?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Myślałem, że pytasz o definicję znaku "NULL".

-------------- Build: Debug in Babel Racer (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -fexceptions -g -c "C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\main.cpp" -o obj\Debug\main.o
In file included from C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\main.cpp:8:0:
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:1:1: error: stray '\211' in program
‰PNG
^
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:2:1: error: stray '\32' in program
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:3:1: warning: null character(s) ignored
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:4:5: warning:** null** character(s) ignored
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:4:1: error: stray '\2' in program
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:4:1: error: stray '\205' in program
C:\Users\Bartek\Desktop\Studia\Semestr III\13 Zastosowania Programowania Obiektowego\Babel Racer\car1.png:4:9: warning: **null **character(s) ignored
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2440
Ręce opadają :| Dlaczego cały czas masz załączone te grafiki?! Myślałem, że tę sprawę mamy już wyjaśnioną.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Usunąłem je, ale teraz program ma problem z deklaracją

- Rejestracja: dni
- Ostatnio: dni
- Postów: 2440
Zamień znak - na =. Niektóre błędy mógłbyś sobie sam poprawiać, forum do tego nie jest potrzebne.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Zrobiłem inaczej.
Robiłem wcześniej program bez bibliotek SDL. Dołączyłem je po zrobieniu projektu, co było błędem.
Potem, jak już poszperałem w internecie: Od A do Z zainstalowałem wszystko, co niezbędne, łącznie z mingw32 (poprawnie).
Już wiem, o co chodzi.
Zacząłem program od początku, na każdym etapie produkcji - kompilując kod i sprawdzając, czy działa.
NO I DZIAŁA!
Wiem, marny sukces, ale dla takiego laika, jak ja, to (prawie, że) kamień milowy.
I teraz, uwaga!
Program działa, do momentu, gdy kompilowałem go z użyciem CPU.
Teraz zmieniłem na GPU , bo obraz zacinał, coś klatkowało.
W tym celu - pobrałem z internetu gotową część kodu, którą wkleiłem do programu. (http://lazyfoo.net/tutorials/SDL/07_texture_loading_and_rendering/index.php)

Problem jest z deklaracją. Again.
Zatrzymywałem film i wiersz, po wierszu sprawdzałem kod. Może ktoś z Was czegoś się dopatrzył?
A tutaj, część gry (gdy kompilowałem z CPU) :)
Już jedzie do przodu (w prawo).
Brakuje skrętu, przeciwników i punktów. Ale jest na dobrej drodze.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
zamieniłem "printf" na strumień cout

I usunąłem: path.c_str i IMG_GetError. Nie wiem, czy dobrze zrobiłem. Czy te rzeczy są ważne.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2440
Nie są ważne, jeśli nie interesuje Cię, jakiej tekstury program nie może załadować i jaki jest numer błędu.
Ekwiwalent z cout może wyglądać tak:
cout << "Unable to create texture from " << path << " SDL error: " << SDL_GetError() << '\n';
Choć wystarczyłoby załączyć nagłówek <stdio.h>, żeby kod z printf zaczął się kompilować.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 38
Chciałbym dodać coś od siebie do tego projektu i zrobić tak, żeby wciskając prawy przycisk - auto przyspieszało.
np. za skręt odpowiada to (w lewo):
if(keystate[SDL_SCANCODE_UP])
{
if(velY>-25)
{
velY=velY-0.6;
}
}
Nie trudno się domyślić, że:
if(keystate[SDL_SCANCODE_RIGHT]) - będzie aktywowany prawy przycisk. Analogicznie do hamowania: if(keystate[SDL_SCANCODE_LEFT]). Z tym już dam radę.
Jeżeli wiem, że:
rect2.x=loop200-(klatka6)%200;
Odpowiada za szybkość przesuwania obrazu.
Jak to skleić? : )