PDA

Pogledaj cijelu verziju : Plz helpppp...



28-01-2009, 19:16
Pokusavam napraviti wow-style inventory za rpg igru u XNA... Ovako, bit ću direktan :D

1.Imam spriteve oružja, već renderirane u igri... Kako bi otprilike glasio kod za drag&drop? To mi nikako ne uspijeva :rotfl:
2.Za svaki screen u igri (character sheet, inventory, spellbook) bih želio napravit zaseban prozor. Ima li neki primjer na netu
iz kojeg bih mogao naučiti kako se rade custom windows?
3.Za inventory window, da bi otprilike bio donekle pregledan, trebam neki grid. Kako napraviti da taj grid "prati" napravljeni custom window?

Hvala unaprijed :D

Luka
28-01-2009, 21:02
1.
Deklrariraj bool dragndrop u kojem ćeš pamtiti traje li u ovom trenutku drag'n'drop (konkretno, traje li drag). Onda u Update() dodaj kod koji će, ukoliko je dragndrop==true napraviti sljedeće: ako je lijeva tipka miša pritisnuta - promijeniti položaj objekta na ekranu - ako nije napraviti štogod se već treba dogoditi kad se objekt drop-a.

2.
Misliš baš na windows formu ili ingame prozor?

3.
Misliš da se resize-a kad se promijeni veličina?

DragonSoul
28-01-2009, 21:04
Meni pada jedino metoda napamet koju me je luka naučio. Napraviš screenmanager (znači klasa koja ti vrti screenove) i screen klasu, koja ti ima draw i update. Onda ta klasa ima isActive, isDrawing i isUpdating varijable. I kako ti isključuješ/uključuješ te varijable (osim isActive, jer ako je on false, onda se briše screen iz managera), screenovi ti se prikazuju/updateaju (samo iscrtavanje baš i nema smisla). I sad, jednostavno napraviš screen koji pokazuje taj tvoj windows, koji handlea taj tvoj grid koji ti se prikazuje u prozoru. E sad, koliko ja znam, XNA nema neko gotovo riješenje, tako da ćeš se sam morati pobrinuti za to.

29-01-2009, 15:53
Misliš baš na windows formu ili ingame prozor?
Mislim na ingame prozor. Postoji li neki lib koji to omogućava (custom windooz) ili baš moram napraviti sve sam?


Misliš da se resize-a kad se promijeni veličina?
Ne, svi ti prozori bi trebali imati fixed veličinu, ali htio bih napraviti da ih igrač
"vuče" po ekranu i posloži ih kako želi. Za ovaj dio sam smislio riješenje tako da
odgovor nije potreban... :)

Luka
29-01-2009, 19:54
Pa vjerojatno ima neki library (mislim da čak i na creators.xna.com ima primjer sa tim)... ali to nije tako teško da bi morao koristiti tuđi lib. Svakako je jednostavnije od standardne ingame logike.

Ugl. koristiš se metodom koju je DS opisao, i još dodaš varijable za poziciju i velicinu prozora, i funkciju koja će preusmjeriti input na trenutno aktivan prozor.

30-01-2009, 14:41
Oke, hvala na pomoći 8)