dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

IrrXML un datu saglabāšana

 
dev.gamez.lv Forum Index -> Iesācējiem
View previous topic :: View next topic  
Author Message
AnetiX
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 05 Jun 2003
Posts: 573

PostPosted: Thu Mar 15, 2007 10:35 am    Post subject: IrrXML un datu saglabāšana

Sāku jūzot Dev-C++. Problēma sekojoša:

Izmantoju IrrXML lai nolasītu datus no XML faila:
Code:
IrrXMLReader* xml = createIrrXMLReader("karte.xml");
     while(xml && xml->read()){
     if (!strcmp("sniegs", xml->getNodeName())){
        // xml->getAttributeValueAsInt("x");
        // xml->getAttributeValueAsInt("y");
     }     
     delete xml;

Kā jāveido pareizi klase, masīvs, vai pat nezinu, kas, lai varētu saglabāt x,y vērtību + vēl kaut kādu papildvērtību.

Iekš Delphi es veidotu multidimensionālu masīvu: karte[x][y].tips="sniegs";, un tad, pēctam varu uzreiz noskaidrot, kāda vērtība ir lauciņam, piem 2x5. Kā iekš Dev-C++ var pareizāk un ātrāk ko tml saveidot? Jāņem vēl vērā, ka karte.xml x un y vērtības var būt ļoti lielas un negatīvas, kā arī, punkts var būt laukā 1x1 un 100000x1, un tāpēc veidot vienu masīvu ar 100000 garumu nebūtu īsti pareizi.
_________________
Miljons iemeslu, kāpēc Latvija ir labākā valsts pasaulē
http://www.millionreasonswhylatviaisthebestcountryintheworld.com
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Mar 15, 2007 11:53 am    Post subject:

Tev vajadzētu saprast, ka Dev-C++ ir tikai IDE, bet nevis valoda vai bibliotēka. Tāpēc jautājums "Kā iekš Dev-C++ var pareizāk..." skan ļoti dīvaini..

Vai tiešām tev vajag šos datus glabāt xml failā? Ja jau tas tev ir tīrs divdimensiju masīvs no stringiem tad glabā tos arī tā - kautvai katru stringu atdalītu ar atstarpi pēc kārtas garā rindā. To ielasot izveido savus masīvus (std::vector) un viss. Ja nu ļoti gribās lietot xml'u, tad visdrīzāk taisi vienkārši kaudzi ar nodēm, kas būs tā masīva elementi pēc kārtas (nodes xml failos vienmēr ir sakārtotā veidā - pēc kārtas tb):
Code:
<elements tips="sniegs" kautkas_cits="1"/>
<elements tips="akmens" kautkas_cits="2/>
...


Ja tu saki, ka masīvs var būt ļoti liels, tad neko prātīgāku kā vainu skriešanu xml child'u masīvam cauri (lēni, bet maz atmiņas izmanto), vai arī xml childu salikšanu mapā (std::map<Vector2, Element> - ātri, bet vairāk atmiņas izmantos), nezinu ieteikt. Šajā gadījumā, protams, tiem <elements> elementiem nāksies x un y blakus glabāt.

Offtopiks: vai tiešām xml->getNodeName() atgriež char* nevis std::string? Dikti jocīgi. Un es biju domājis, ka Irrlicht ir kārtīga C++ bibliotēka...
Back to top
View user's profile Send e-mail
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Thu Mar 15, 2007 8:47 pm    Post subject:

Ieej irrlicht maajas lapaa (irrlicht.sf.net). Noteikti atradiisi visu vajadziigo informaaciju. Pats, kad izmantoju irrlicht, arii ar shamo njeemos un tutoriali vinju lapaa ir pietiekami. Ja nepietiek, tad pameklee forumos, tur toch atradiisi vajadziigo info.
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Mar 15, 2007 9:57 pm    Post subject:

elvman, es jau sapratu, ka ne jau problēma ir nemācēšanā kautko izdarīt ar irrlicht'u. Bet gan problēma ir tajā kā veidot xml failu, tb tā struktūru.
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Iesācējiem All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
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