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
Ps: Snažím se to debugovat už hodně dlouho, ale stále na nic nepřicházím.
c# bug(editor map) Vyřešeno
c# bug(editor map) Vyřešeno
- Přílohy
-
- Debug.zip
- (385.16 KiB) Staženo 21 x
immortal-world.net - přijďte si zahrát!
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: c# bug(editor map)
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 ) 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
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 ) 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
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: c# bug(editor map)
Hehe, ted sem si uvědomil, že jsem tam nedal ten zdroják. Jak si se dostal k tomu kodu?
Naposledy upravil(a) agil dne 23 dub 2014 15:16, celkem upraveno 3 x.
immortal-world.net - přijďte si zahrát!
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: c# bug(editor map)
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
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: c# bug(editor map)
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.
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!
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: c# bug(editor map)
Já nevím jak to vůbec funguje 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
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: c# bug(editor map)
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? 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
--- 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!
Re: c# bug(editor map)
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...
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)
(pravil K. H. Borovský o cenzuře internetu)
Re: c# bug(editor map)
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
Nic jiného mě nenapadá.
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
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!
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: c# bug(editor map)
Já vůbec nechápu na co tam máš pole s těma číslama od 0 do posledního pole v mapě
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
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
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
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: c# bug(editor map)
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
Š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!
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: c# bug(editor map)
Nevim, jsou tam asi 4 pole a dělaj jednu věc. Takový trochu zmateční mi to přijde
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
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 26 hostů