Je este nejaka jednoducha graficka kniznica okrem SDL a je na nu aspon jeden normalny tutorial ?
Dakujem
Fórum › C / C++
Graficka kniznica
Co sa ti nepaci na SDL ? Potom tu uz iba zostavaju skor gui-toolkity ako GTK, Qt atd...
Alebo este WinAPI a Xlib ale tieto 2 by som jednoduchsimi nenazival ;)
Ale skus sa pozret na ClanLib, som pocul ze je to celkom puzitelne ale vela tutorialov som na to nevidel ani som s tym nikdy nerobil...
http://www.clanlib.org/
Treba na DirectX jsou pokud vim tuty primo v SDK. A kdyz si stahnes Visual C++ 2008 Express, tak si do nej muzes zaintegrovat i Dark GDK, ktere vypada alespod od pohledu celkem stupidne. Skoda ze mi vyhorel komp, jsem se na nej chtel vrhnout :(
A nezapominal bych na OpenGL..........
Ikdyž SDl se mi zdá pro začátky celkem vhodné......., bohuzel jse mi ho stale nedari zkrotit :smile20:
SDL je dobre, lenze ja v tom vobec neviem robit, zacal som citat asi 10 tutorialov a ani jeden mi dokopy nic nedal...
Stravil som pri tom desiatky hodin, pozeranim prikladov, citanim tych tutorialov, skusanim vlastnych programov a stale mi nieco neslo.
Program sa prelozil ale nefungoval a netusim preco.
A v kazdom tutoril je iny kod na zobrazenie obrazka, ci pohyb pomocou klavesy.
Ale to asi len ja som hlupak ako vidim... ked CommanderZ dokazal za par dni spravit hru o ktorej nemam sajnu ako ju mohol napisat
To tmi : Dovoluji si s tim LEGEM odporovat. Pokud stavis podle sebe(mam ted na myslis radu technic-jinou nesbiram) je to celkem tezky, ale pokud stavis podle navodu tak je to jen o trpelivosti......protoze ty navody jsou velmi dobre delane.
A origami je hlavne o manualni zrucnosti :smile1:
To Erik : A mas zaklady C++?Myslim tim hlavne ukazatele a podobne veci.V SDL se to hodne pouziva....
Erik napsal:
SDL je dobre, lenze ja v tom vobec neviem robit, zacal som citat asi 10 tutorialov a ani jeden mi dokopy nic nedal...
Stravil som pri tom desiatky hodin, pozeranim prikladov, citanim tych tutorialov, skusanim vlastnych programov a stale mi nieco neslo.
Program sa prelozil ale nefungoval a netusim preco.
A v kazdom tutoril je iny kod na zobrazenie obrazka, ci pohyb pomocou klavesy.
Ale to asi len ja som hlupak ako vidim... ked CommanderZ dokazal za par dni spravit hru o ktorej nemam sajnu ako ju mohol napisat
Ji projed zdrojak, je k ni pribaleny. Prakticky kazdy radek je okomentovany takovym az skoro tutorialovym stylem. A na cokoliv se muzes zeptat. Pokud se na to budes opravdu chtit divat, tak ti doporucuju verzi 0.2, do te posledni verze pribyly streaky a to je z tveho hlediska jenom 200 radek jednoducheho logickeho bordelu.
Jinak, doporucuju si projet tutorial na WinAPI, ja si ho taky projel - spis tak pro informaci - a hodne mi to pomohlo. Potom daleko snadneji pochopis strukturu kodu jakekoliv hry (main, message loop, game loop.)
tmi: neviem ako ty, ale mna uz lego preslo a origamy ma nebavi
yaqwsx: nejake tie zaklady mam... funkcie, podmienky, cykly, zaklady oop a trosku ukazazovatele
CommanderZ: Diky, do tvojho zdrojakou som sa nepozeral, skor len "jednoduche" priklady z "tutorialov"
AI: jasne, 90% hier a prikaldov kt. som sa snazil prelozit sam tak fungovali
To yaqwsx : tak me tehda lego taky velky problemy nedelalo> kazda (rekneme mensi az stredni) stavebnice (dle navodu) mi trvala priblizne stejne dlouho jako kdysi davno tutorialy do SDL. a vzhledem k tomu ze Erik travil desitky hodin zkoumanim tutorialu SDL tak jsem predpokladal ze by mohl taky travit desitky hodin navody do LEGA.
To Erik : to byl jenom navrh, jestli ti vyhovuji vic treba panenky tak prosim, nenech se omezovat.
<offtopic>
Erik
Myslím, že tmi chtěl pouze naznačit, že když neumíš s knihovnou pracovat, není to chyba té knihovny. A je blbost jen kvůli tomu, že ti to teď nejde hned měnit knihovnu.
</offtopic>
To Erik : Skousej dal, jednou to pochopit musis....Ja taky stale nechapu, proc mi moje navrhnuta trida sprite nefunguje,ale taky ji neustale prepisuji a doufam ze to jednou vyjde.......
OT: JInak uz jsem prekopal nacitaci f-ci,tak ze uz funguje! :smile18: Pokud by nekdo nasel chybu v te vykreslovaci, tak at se ozve....
ok a vedel by mi niekto pomoct s tymto programomom ?
#include <stdlib.h>
#include "SDL/SDL.h"
int main(int argc, char *argv[])
{
SDL_Surface *screen,*image, *background;
SDL_Rect drect,srect;
SDL_Event event;
atexit(SDL_Quit);
screen = SDL_SetVideoMode(640, 480, 32,SDL_HWSURFACE | SDL_DOUBLEBUF);
image=SDL_LoadBMP("hello.bmp");
srect.x=0;
srect.y=0;
srect.w=image->w;
srect.h=image->h;
drect=srect;
drect.x=(screen->w-image->w)/2;
drect.y=(screen->h-image->h)/2;
SDL_BlitSurface(image,&srect,screen,&drect);
SDL_Flip(screen);
//čeká se do uvolnění jakékoliv klávesy
while (SDL_WaitEvent(&event),event.type!=SDL_KEYUP);
background=SDL_LoadBMP("background.bmp");
while (SDL_WaitEvent(&event),event.type!=SDL_KEYUP);
return 1;
}
Len som chcel, aby som po stlaceni klavesy objavil novy obrazok :(
To Erik : Tak jsem si to letmo prohledl a trochu me zarazi, proc predava SDl_BlitSurface jako 2 argument obdelnik, kdyz pracujes s celym objektem.Predej NULL a mas to.
A pokud chces zmenit pozadi, tak ho musis vykreslit....Nestaci jen nacist..
Jinak chyba je v nefunkcnosti a nebo kompilator haze chyby?
To Erik : nevim jak jsi prisel na to ze ja nejake takove (=LEGO,panenky,origami) zaliby mam. nikdy jsem to nerekl a z zadneho meho vyroku to nevypliva. ja nespamuji, stejne jako ostatni se ti pouze snazim poradit co je pro tebe nejlepsi. a take jsem na tomto foru nikdy neprezentoval zadnou svoji prihodu ze staveni LEGA ci budovani panenek.
To bukaj : no chtel jsem toho naznacit jeste o neco vice), ale radeji to nebudu dale rozpitvavat...
radeji uz necham Erika v klidu se soustredit na SDL, aby se z neho mohl stat profesionalni programator. je to, preci jenom, jeho volny cas se kterym at si dela co chce.
niesom si teraz isty, ale commanderZ asi tak uplne nezačinal s programovanim so SDL ;) Mal nejake skusenosti s programovanim už predtym. Mal by si sa najskor naučiť C++, pochopiť jazyk, nabrať skusenosti. Viem že tvorba hier láka, ale začať sa s nimi nedá. SDL ti zaistí len grafický výstup, ostatné je v C++ ;) a v tvojom návrhu programu, a ten nespravíš pokiaľ nebudeš rozumieť C++ dostatočne.
A nielen C++ ale aj tak všeobecne. čo su subory lib, čo su dll, čo je uložene v .h a čo v Cpp. Čo je projekt, debuger, linker atp.
Tymto len chcem povedať, že všetko má svoj čas ;)
Ja s C++ zacal 23.12. vecer, jak sly verze hada se podivej sam. Predtim - PHP (velmi slusna uroven), JS (taktez, i kdyz o neco mene) a pak skriptovaci jazyky nekterych her...warcraft 3 JASS (jakz takz) a Doom 3 (zaklady, zvladl jsem hybat meshi, otvirat dvere a spoustet nepratele :) taky jsem udelal vseho vsudy jednu mapu ). jo a visual basic nekdy v tercii na gymplu. V tom jsem taky udelal jednu jednoduchou hru - jeste 200* jednodusi nez je had - a periodickou tabulku prvku. ty pojmy ktere jsi tu vyjmenoval jsem prave chapal az v prubehu...coz prinaselo i sve problemy. Uznavam ze syntaxi jsem nevenoval ani minutu a sel rovnou na prikazy pro prikaazovou radku.
Jinak...ja do SDL sel proto, abych umel neco krome prikazove radky a mohl neco delat. Nejhorsi je prochazet tutorialy a delat priklady tak jak oni tam reknou, to clovek hrozne rychle prijde o motivaci. Lepsi je si urcit konkretni (v urcitem casovem horizontu dosazitelny) cil a za tim jit. Ano, muze se stat, ze se zaseknes, ale od toho tu jsou fora atd.
Jinak, jesli neumis zadny jiny prog jazyk, tak se na C++ vy*er, nema to cenu, je to ztrata casu. Treba to PHP ma velmi podobnou syntaxi a je asi tak 1000x jednodussi. A naucis se tam algorytmizovat. A daji se nim velice rychle zacit vydelavat slusne penize, coz se o zadnem jinem prog. (skript.) jazyku rict neda. Prave tyhle penize skvele motivuje k prvotnimu zvladnuti jazyka. Jamile naprogramujes redakcni system, eshop a jeste neco tak se zkus vratit k c++. I kdyz si nejsem jisty, jestli treba C# neni lepsi volba, sam stale uvazuju, ze na nej jeste prejdu. Na C++ mi docela dost veci leze pekne krkem.
Me se na C++ paci jeho moznosti, rychlost a taky to ze je cool (z takovych tech beznych je to nevice hardcore). Nevyhody z toho uz vyplyvaji - vysoka slozitost. A slozitost nejenom na nauceni, ale slozitost pak i na psani. Proste pokud nepotrebujes nahanet framy, pristupovat k hardwaru atd., tak je C++ zbytecne slozite a logicky v nem trva dele cokoliv napsat. Vzdyt si to vem - na vytvoreni okna s tlacitkem, po jehoz stisknuti se objevi hlaska "Hello world" ti v visual basicu staci tri radky (pokud si to dobre pamatuju, uz jsou to opravdu leta). V C++ na to tech radku potrebujes v nejlepsim pripade 20. A vysledek bude naprosto totozny. Tady je prave ten bod, kde se clovek musi rozhodnout.
To CommanderZ : a presne proto je podle me od zacatku lepsi zacit psat v C/C++, aby si clovek nevstipil nejake programatorske neduhy. pokud clovek hned zacne objektove, tak vetsinou nevi co skutecne dela (z tohoto by sice vyplyvalo ze jako nejlepsi bych na nauceni povazoval JSA, ale ty povazuji za prilis zdlouhave a v soucasne dobe nerozsirene). staci mi kdyz vidim nekoho resit skoro kazdy problem tim ze na to "udela objekt" nebo to resi zdlouhavym obvolavanim deseti knihovnich funkci nebo vytvori nekolik novych globalnich promennych; ackoli by stacio par bitovych soucinu a posunu atd... jakmile clovek vi co skutecne dela, programuje pak mnohem efektivneji. aspon si uvedomi co takove okno s tlacitkem stoji) - a jakmile to vi, klidne at si pouziva prednapsane kusy kodu ... ovsem nic se nesmi prehanet, nutit kazdeho at si na zkousku prepise celou STL je asi trochu moc...
navic, prijde mi lepsi naucit se prvne tezsi vec, a lehci potom budes zvladat za behu. pokud nekdo zacne trebas v basicu, tak se adaptuje celkem rychle, pak bude chtit prejit treba na python, bude koukat co to sou ty objekty a listy; pak prejde na C a kazdej program si nejdriv desetkrat shodi kvuli chybam s ukazatelema...
a co se tyce uceni se algoritmizace: tu se clovek nauci dle me v jakemkoli jazyce (pokud ovsem jen nespatlava v nejakym RAD IDE...). ackoli se tezce lisi algoritmizace v proceduralnim a neproceduralnim programovani.
To CommanderZ: ja zase nemam rad php :) a myslim že zachviľku bude malo použivany. .NET je proste prevrat.
Sakra to vizera ako pokus o flame, ale predsa musim obhajit C++. Inak ta dlžka kodu pre hello world aplikáciu je zavádzajúca, Jednoducho len musiš ako programator obstarať viac vecí. A aby som bol presný tak toto nie je C++ (formuar s tlačitkom) ale win API , ktore je proste také.
Flameovat nechci, to urcite ne, ja netvrdim, ze tu s nami PHP bude na vecnost (coz se o variantach C myslim rict da), ma sice chyby v navrhu, je omezene, ale zase je velmi snadno dostupne a velmi jednoduche. Dot net hodnotit nemuzu, nemam s nim zadne zkusenosti.
Btw, mate tu nekdo nejake zkusenosti s C#?
mephi napsal:
To CommanderZ: ja zase nemam rad php :) a myslim že zachviľku bude malo použivany. .NET je proste prevrat.
Sakra to vizera ako pokus o flame, ale predsa musim obhajit C++. Inak ta dlžka kodu pre hello world aplikáciu je zavádzajúca, Jednoducho len musiš ako programator obstarať viac vecí. A aby som bol presný tak toto nie je C++ (formuar s tlačitkom) ale win API , ktore je proste také.
Tedy myslenkovy pochod PHP -> .NET = obhajovani C++ absolutne nechapu...
Ehm ,taky nechapu vyznam tady toho porovnavani.....Kazdy jazyk je urceny na uplne jine veci, takze nema smysl je srovnavat na jednom prikladu....
To Erik : Jinak by me zajimalo, jestli ti ty chyby u toho kodu kaze kompilator a nebo to jenom nefnguje...A Zda-li jsi vyzkousel me rady.....
yaqwsx: jaj, kompilator neukazuje ziadne chyby ani upozernenia, len program proste nefunguje, spadne, al. zamrzne.
S tym vykreslovanim mas asi pravdu...
A tiez je pravda, ze by ste nemali porovnavat PHP a C++, ked kazdy sluzi na nieco ine.
>Navic mi jeste neni uplne jasne, proc ve f-ci main vracis 1....., to aku hodnotu vraciate na konci funkcie main, je informacia otom ako program skoncil, ktorej interpretacia zalezi len od nadradeneho programu (napr. OS). po vzore winapi je zauzivane vraciat 0 pri spravnom skonceni a nenulovu hodnotu pri skonceni nespranvom
ved ale ked vratis 1, nemusi to znamenat ze program skoncil chybou, znamena to len tolko, ze si vratil 1 a bez znalosti logiky akou vracias hodnoty, takto vratenu hodnotu nemozes interpretovat a teda rozhodnut ako program skoncil
To yaqwsx : ale len do chvile, do kedy sa tento zvyk dodrzuje (napr. ten program o ktorom tu bola rec)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Graficka kniznica pre C — založil sleepy
Kniznica MFC — založil Marek
Kniznica na gui — založil dielmy
MySQL kniznica — založil VireL
Php GD kniznica X,Y poziciovanie — založil janik366
Moderátoři diskuze