View previous topic :: View next topic |
Author |
Message |
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 11:11 am Post subject: Nesaprašanās ar SDL |
|
SDL mācos no Lazy Foo tutoriāļiem. Pamēģināju uztaisīt to, kas dots tutoriālī bez nekādas palīdzības, kad biju jau visu kodu pabeidzis kompilējot MinGW nekādus errorus neuzrādija, bet atverot .exe SDL logs parādās un pazūd.
Source |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Aug 01, 2008 11:22 am Post subject: |
|
stderr.txt wrote: |
Unable to load imageLoad Button Image Failed
|
un..
Code: | if (Init() == false)
{
return 1;
fprintf(stderr, "Init failed");
} |
pēc return nekāds kods nestrādās _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle
Last edited by snake5 on Fri Aug 01, 2008 11:33 am; edited 1 time in total |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 11:29 am Post subject: |
|
Tas ir tāpēc, kad button png jabut tajpašā direktorijā kur exe. Man piemēram ir tā, kad ja palaižu programmu no Code::Blocks tad uzrāda šo error, bet ja parasti, no foldera, kur ir exe(un arī button.png), erroru neuzrada. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Aug 01, 2008 11:33 am Post subject: |
|
es tak zinu
viss ir vienā folderī - izekstraktēju un palaidu, bet errors tāpat
pamēģini bmp formātā
bet tā manuprāt nav vaina tam, ka izslēdzas programma pati _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 11:49 am Post subject: |
|
Itkā pamainiju, gan to kļūdu, gan arī BMP un izmantoju tagad SDL_LoadBMP, bet tāpat bez izmaiņām.
1 jautājums:
Vai laižot tikai exe(ne caur Code::Blocks) stderr faila erroru rakstīšana ar fprintf palīdzību joprojām ir spēkā? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 01, 2008 12:04 pm Post subject: |
|
Tankists wrote: | 1 jautājums:
Vai laižot tikai exe(ne caur Code::Blocks) stderr faila erroru rakstīšana ar fprintf palīdzību joprojām ir spēkā? |
Protams.
Tev tur ir jocīga SDL_image.dll bibliotēka. Tai vajag arī libpng12-0.dll failu, citādi tā neies. Dod to līdzi savam arhīvam, jo citiem tāds var nebūt. Tiem, kuriem nebūs tas libpng12-0.dll fails, tiem png faili nevarēs tikt ielādēti.
Bet par tēmu - pārliecinies, ka SDL_Flip neatgriež rezultātu < 0, jo tad nostrādās tavs return 1 tur un nekāds outputs netiks korekti izvadīts (vajag VIENMĒR izsaukt SDL_Quit). Daudz labāk tā return vietā ir likt break, lai while cikls iziet ārā un nostrādā normāla SDL iziešana (SDL_Quit izsaukums). Arī pēc Quit = true uzstādīšanas derētu izsaukt break, lai while cikls iziet ārā, citādi tur kautāds vēl kods tev izpildīsies kaut arī ticis saņemts QUIT events.
Ja tas nelīdz, tad lieto debugeri - izpildi kodu pa rindiņai, līdz kamēr programma iziet ārā no main fjas. Tad arī zināsi, kur ir problēma. |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 1:16 pm Post subject: |
|
Pladies bubu, par padomiem.
vēlviens jautājums:
Kā lai stringā pievieno mainīgo?
uz PHP zinu ka ir "string". $variable . "string..."
kā uz c++? |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
Posted: Fri Aug 01, 2008 1:49 pm Post subject: |
|
Ja vien tu saproti kas tas ir:
Code: |
#include <sstream>
template <class T>
inline std::string to_string (const T& t)
{
std::stringstream ss;
ss << t;
return ss.str();
}
|
edit: ok, ja nemaaceesi lietot
Lai piemeeram no integer dabuutu stringu
Code: |
int num = 32;
string converted = to_string<int>(num);
|
_________________ Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Last edited by Storm on Fri Aug 01, 2008 2:09 pm; edited 2 times in total |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 1:59 pm Post subject: |
|
paldies, bet nesaprotu
Varbūt vienkāršāk kāds varētu pastāstīt, ka lai dabū peles kordinātas uz ekrāna?
Code: | void loadScene(int mX, int mY)
{
background = LoadImage("background.bmp");
if (background == NULL)
{
fprintf(stderr, "Unable to load background\n");
}
text = TTF_RenderText_Solid(font, "x: mX y: mY", fColor);
if (text == NULL)
{
fprintf(stderr, "Unable to render font\n");
}
ApplySurface(0, 0, background, screen);
ApplySurface(0, 0, text, screen);
} |
Sanāk ka funkcija paņem 2 int mainīgos un ar TTF_RenderText_Solid(); palīdzību, parāda tos uz ekrāna, bet kā dabūt tur iekšā mainīgos? |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Fri Aug 01, 2008 2:04 pm Post subject: |
|
Quote: | int num = 32;
string converted = to_string<int>(&num); |
Nepareizi (es domāju tu pats saproti, kāpēc), lietošana būs šāda:
string converted = to_string(num); _________________ long time; /* know C */ |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
Posted: Fri Aug 01, 2008 2:10 pm Post subject: |
|
es zinu, paarakstiijos, adresi mees negribam par stringu konverteet xD
Code: |
string textToRender = "x: " + to_string(mX) + " y: " + to_string(mY);
text = TTF_RenderText_Solid(font, textToRender, fColor);
|
_________________ Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552 |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 2:19 pm Post subject: |
|
Quote: | uzmetās errors:
error: cannot convert `std::string' to `const char*' for argument `2' to `SDL_Surface* TTF_RenderText_Solid(TTF_Font*, const char*, SDL_Color)' |
atrisināju. Paldies velreiz.
Last edited by Tankists on Fri Aug 01, 2008 2:35 pm; edited 2 times in total |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 01, 2008 2:44 pm Post subject: |
|
TTF_RenderText_Solid fja sagaida const char* veida stringus (C stringus), nevis std::stringus, kurus tu tur padod.
Dari tāpat kā tu darīji bildes ielādē - std::string klasei ir c_str() metode, kas atgriež tā saturu kā const char* tipu. |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 01, 2008 3:10 pm Post subject: |
|
Atkal jau kautkāda problēma, šoreiz nevaru saprast, kas pie vainas. Kad palaižu viss notiek, kā tam jānotiek, bet pēc ~1 minūtes ilgas dabības parādās gļuki un error failā uzrāda, ka nevarot ielādēt background bildi.
Varbūt kāds zin kur vaina?
Source |
|
Back to top |
|
|
|