|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 29, 2008 12:33 pm Post subject: |
|
Storm wrote: | Tur jau tas saals ar to padosanu, ja man piemeeam ir kamera un kamerai ir updeits, taalaak updeitaa vajag padot - inputu un elapsed time prieks kurstinaasanas, tad veel graphics devaisu kaut kaadam teiksim unproject... un taa visu laiku visam visu kaut ko vajag padot... Rezultaataa kods izskataas vienaarsi stulbi. |
Par konstruktoriem un klašu memberiem esi dzirdējis? :) |
|
Back to top |
|
|
Storm
Joined: 11 Apr 2006 Posts: 742
|
Posted: Fri Aug 29, 2008 12:52 pm Post subject: |
|
Esmu gan, tikai kapeec man jaaglabaa katraai klasei sava statiskaa reference uz *to pasu* mainiigo ja es varu glabaat vienu, vienaa vietaa? _________________ 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 |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: Fri Aug 29, 2008 12:54 pm Post subject: |
|
Vieniigais, bubu variantam automātiski vajag reference countošanu. Un ja sanāk circular reference, tad jau vajag kādu garbage collectoru. Manlieks, globālo mainīgo neizmantošana ir tiešām lielu projektu padarīšana. Es visām savām spēlēm esmu izmantojis globālos mainīgos, jo projekti nekad nav bijuši milzīgi un laiks bija svarīgāks. _________________ long time; /* know C */ |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Aug 29, 2008 1:01 pm Post subject: |
|
elvman wrote: | Vieniigais, bubu variantam automātiski vajag reference countošanu. | Kāpēc? Es piemēram labi bez tādas iztieku..
Katram objektam stāv pointeris uz Game klasi, no kuras var piekļūt renderētājam, skaņai, inputam, visiem delta time / game time / etc. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 29, 2008 1:04 pm Post subject: |
|
Ir jau arī weak references, kurām nevajag nekādu garbaga collector. Vajag apzināties, kurš objekts atbild (owns) par kuru. Neviens tak neapšaubīs, ka ne jau kamera atbild par grafikas kontekstu (device), vai arī spēlētāja objekts pār input manageri. Piemēram, programmējot C++'ā bez boosta vajadzētu objektiem kuri tur ownershipu - tiem lietot std::auto_ptr, bet tie, kuri netur - tiem parastu * pointeri. Ar boostu tur sanāktu lietot shared_ptr/weak_ptr.
elvmans pareizi vien saka: "Manlieks, globālo mainīgo neizmantošana ir tiešām lielu projektu padarīšana". Iepriekš rakstītajā tekstā ar "pie projektiem ar lielu koda apjomu" biju domājis kodu ar, piemēram >100'000 rindiņām. Ja projekts aizņem 5000 vai 10000 rindiņu, tas vēl nv tik traki.
Kā jau teicu: Quote: | Es ļoti labi saprotu, ka to ir grūti saprast. |
Ar paša pieredzi to varēs labi saprast. |
|
Back to top |
|
|
Tankists
Joined: 18 Dec 2006 Posts: 81 Location: Baldone
|
Posted: Fri Aug 29, 2008 1:54 pm Post subject: |
|
Esmu iesācējs, tāpēc uzdošu vēl kādu jautājumu, ko nespēju atrisināt.
Failā main.cpp man ir funkcija apply_surface() kura attēlo surfeisu uz ekrāna, bet šī funkcija man ir nepieciešama Tile klasei, kura ir atsevišķos failos(tile.h un tile.cpp), tāpēc debugeris rādā, ka šāda funkcija nav definēta. Kā tikt pie risinājuma? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Aug 29, 2008 2:04 pm Post subject: |
|
Kāda gan starpība ko rāda debugeris.. galvenais jau lai viss kompilējas un linkojas.
Ja kautkas nekompilējas, tad drīzāk dari ta, ka iznes to apply_surface funkcijas deklarāciju atsevišķā .h failā, kuru inklūdē tur kur vajag. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|