c# bug(editor map) Vyřešeno

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

agil
Level 2
Level 2
Příspěvky: 181
Registrován: říjen 10
Pohlaví: Muž
Stav:
Offline

c# bug(editor map)  Vyřešeno

Příspěvekod agil » 22 dub 2014 19:03

Zdravím, dělám v c# editor map. Vytvoříte mapu(obsadíte 2d pole hodnotami) a uložíte do xml. Problém nastává, když načtu mapu z xml . Naprosto to nechápu.
Vypíšu si hodnoty z pole Map.Layer0 - jsou správné, tak jak mají být načtené z xml, jenže v editoru to vypadá jak když je celé pole obsazené pouze poslední hodnotou z mapy. Jako by to pole melo ve stejných buňkách více hodnot - což je nemožné, ale vypadá to tak
Další věc co jsem vypozoroval je, že pokud vytvořím kolizní pole a dám do něj hodnoty z xml, pak nefunguje collision brush. Pokud ho zaplním 0(není kolize) a ne z xml(coz by ho melo taky naplnit nulou), pak fugnuje...zřejmě je problém s tím čtením z xml, ale není mi jasné jaký - poněvadž když přečtu naplněná pole, zdají se v pořádku.

Zasílám program i se zdrojákem.
Pokud chcete vytvořit mapu- stačí dát file-new map a pak musíte ještě dát file- load tileset(ten je přiložen ve slože). Vyberete brush, např. scalable brush, kterým označíte tily v tilesetu a přenesete je na mapu....
Doufám, že mi někdo pomůže, děkuji :D
Ps: Snažím se to debugovat už hodně dlouho, ale stále na nic nepřicházím.
Přílohy
Debug.zip
(385.16 KiB) Staženo 21 x
immortal-world.net - přijďte si zahrát!

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# bug(editor map)

Příspěvekod CZechBoY » 23 dub 2014 00:45

Zdravím,
vidím to na nějakou chybu v metodách DrawLayerXX ve třídě Map.
Když se tam zakomentuje ta podmínka ve 4 zanořených cyklech tak to vykreslí jinej obrázek (ale taky všude stejnej :lol: ) a celkem dost mi z toho pak teče ntb :(
Zkus si to ještě jednou projít, visual studio má celkem dost dobrý debugovací nástroje ;-)

Už se mi v tom moc nechce hrabat, kdyžtak jindy ;-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

agil
Level 2
Level 2
Příspěvky: 181
Registrován: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# bug(editor map)

Příspěvekod agil » 23 dub 2014 14:52

Hehe, ted sem si uvědomil, že jsem tam nedal ten zdroják. Jak si se dostal k tomu kodu? :D
Naposledy upravil(a) agil dne 23 dub 2014 15:16, celkem upraveno 3 x.
immortal-world.net - přijďte si zahrát!

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# bug(editor map)

Příspěvekod CZechBoY » 23 dub 2014 15:14

C# jde převíst zpátky do zdrojáku z exečka.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

agil
Level 2
Level 2
Příspěvky: 181
Registrován: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# bug(editor map)

Příspěvekod agil » 23 dub 2014 15:16

A v těch vykreslovacich metodach podleme chyba nebude.
To pole se obsadi spravne, ale jako by se pak nejak obsadilo znova a to tilem na konci mapy. Ale v kodu nikde nemuzu najit ze by se to melo znovu zaplnovat.
immortal-world.net - přijďte si zahrát!

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# bug(editor map)

Příspěvekod CZechBoY » 23 dub 2014 15:17

Já nevím jak to vůbec funguje :D ale když jsem dal pryč ten if tak to vykreslovalo jinej obrázek, ale furt stejnej.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

agil
Level 2
Level 2
Příspěvky: 181
Registrován: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# bug(editor map)

Příspěvekod agil » 23 dub 2014 15:21

hmm...no mám tam cyklus, který projíždí tileset...a pokud se hodnota mapy=hodnote v tilesetu, pak se vykresli ten danej obrazek z tilesetu - to je v te podmince..pokud tu podminku zrusis, tak to vykresluje podle toho cyklu, co prochazi tileset, takze ti to asi vykresli az posledni tile =poslední hodnota projetá v cyklu, coz si rikam, ze by teoreticky nemelo? :D zvlastni je, ze normálně to funguje

--- Doplnění předchozího příspěvku (23 Dub 2014 15:32) ---

Takhle, co je pro mě naprosto nepochopitelný je, že Layer0 v Map se zaplní správně, při běhu programu to normálně vypisuju do debug konzole a je to zaplněný správně z xml...jenže když si nechám vypsat na kliknutí Map.Layer0[mousex,mousey], tak to tam vsude hází hodnoty posledního ctverce v mape a ne to co je v layer0. To prostě nemá logiku.
Tak jsem zjistil, že ty hodnoty jsou správné jen chvíli, pak se přepíšou, ještě přijít na to kde a proč ..
Takze - pokud si to vypisu v tom tretim cyklu, ktery projizdi string z xml, tak jsou hodnoty spravne, ale pokud to dam mimo nej, hodnoty uz jsou spatne
http://pastebin.com/gNVGfxzX
immortal-world.net - přijďte si zahrát!

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7356
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: c# bug(editor map)

Příspěvekod faraon » 23 dub 2014 17:04

Nemáš tu proměnnou uvnitř třetího cyklu jako lokální? Zkus jí deklarovat někde před prvním cyklem nebo úplně na začátku bloku, a zkontroluj že nemáš žádnou další deklaraci nikde jinde, která by jí překryla.

A nezapomeň že Java a C# jsou interpretované jazyky, když vyprodukuješ nějaké EXE, tak svůj zdroják převedeš do bytekódu a přilepíš ho k interpretu, ve skutečnosti se vlastně vůbec nekompiluje...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

agil
Level 2
Level 2
Příspěvky: 181
Registrován: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# bug(editor map)

Příspěvekod agil » 23 dub 2014 18:40

No tak ty pole jsou statický proměnný. Jsem z toho jelen.
Aha, už to asi chápu. Zřejmě je to chyba mojí logiky mechanismu načtení(přiřazení k souřadnicím) hodnot mapy z xml..
Myslel jsem, že to prostě přiřadí postupně ke každý dvojici souřadnic id načtený z xml, ale ono to prostě projede celou mapu a obsadí poslední hodnotou, takže nejspíš pomůže, když upravím ukládání map do xml a to tak, že si uložim i souřadnice pro dané hodnoty.
Myslel jsem že tohle by mohlo fungovat, jak to mam, protože jak ty cykly projíždí pole, projíždí se i hodnoty z xml, ale očividně to asi tak uplne nefunguje :D
Nic jiného mě nenapadá.

Kód: Vybrat vše

 for (int x = 0; x < width / 32; x++)
           {

               for (int y = 0; y < height/ 32; y++)
               {

             
                       for (int c = 0; c < XmlReader.layer0arrayInputParts.Length; c++)
                       {


                           Layer0[x, y] = Convert.ToInt32(XmlReader.layer0arrayInputParts[c])-1;
                     
                         

                       }
immortal-world.net - přijďte si zahrát!

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# bug(editor map)

Příspěvekod CZechBoY » 23 dub 2014 20:36

Já vůbec nechápu na co tam máš pole s těma číslama od 0 do posledního pole v mapě :D
Takhle to mít uložený můžeš, jen máš asi špatnej výběr. Nebo možná špatnej převod z čísla na texturu :idea:
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

agil
Level 2
Level 2
Příspěvky: 181
Registrován: říjen 10
Pohlaví: Muž
Stav:
Offline

Re: c# bug(editor map)

Příspěvekod agil » 23 dub 2014 20:59

Jaký pole myslis... Layer0 , tam jsou uloženy id v maphe , podle kterých to vykresluje
Špatnej převod z čísla na texturu určité ne, pouzivam to stejný co funguje když vytváří s novou mapu
immortal-world.net - přijďte si zahrát!

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: c# bug(editor map)

Příspěvekod CZechBoY » 24 dub 2014 10:02

Nevim, jsou tam asi 4 pole a dělaj jednu věc. Takový trochu zmateční mi to přijde :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti