A téma értékelése:
  • 0 szavazat - átlag 0
  • 1
  • 2
  • 3
  • 4
  • 5
Hülye vagyok Agyon gombozott leltárak és egyebek...
#1
Üdvözlök mindenkit!
Ahogy azt már a címből is kitalálhattátok a leltárról és az egyéb össze vissza gombozott dolgokról lesz szó!
Bizonyára mindenki látott már az életében olyan klienst ahol agyon van gombozva majdnem az összes funkció...
Lásd:
 [Kép: bara_inventar.png]
Természetesen nem ilyet fogunk készíteni most, mert akármikor meglátok egy ilyet azon gondolkodom, miféleképpen kéne fejbe lőni magam..
Én szerintem ez egy igénytelen droidság értem, hogy közel van meg minden de értitek...
Szóval mit is csinálunk most?
Van erre egy sokkal szebb megoldás amivel ugyan ilyen panelt kaphatsz magadnak ám kicsit igényesebb és semmi köze nincs az alap funkciókhoz!
Jó abbahagyom a pofázást.. Mutatom:
Létrehozunk egy Menü gombot a game.py-ba amit ha lenyomunk akkor egy "varázslat" után Bezár lesz a gomb funkciója.
Lásd:
[Kép: N_vtelen.png]
[Kép: N_vtelen2.png]
Nem egy fjúúcsör alkotás de akkor is jobban néz ki mint telekúrni minden hülyeséggel azt a szegény leltárat...
Hogyan készíthetsz magadnak ilyet?
Noss én amikor elkezdtem ezt az egész "Mötin szakmát"(ha lehet egyátalán így nevezni ikszdé) mindig nézegettem a "pájtonokat",
azt könnyen levettem, hogy rengeteg mindent könnyű létrehozni mivel nem egy bonyolult nyelv ez valjuk be!
Ajánlatos, hogy egyszerű megoldással írd meg például pont így!

[Csak regisztrált felhasználók láthatják ezt a tartalmat.]


[Csak regisztrált felhasználók láthatják ezt a tartalmat.]



Ezt szimplán bevered a game.py -ba "self.itemDropQuestionDialog = None" alá, ám ezzel még nincs vége...
Mint ahogy lehet látni, van két Eventünk a self.MenuNyitas és a self.MenuBezar
Na most mivel ez a kód tényleg ilyen beginner cumó ezért így oldanám meg a gomb cseréket:


[Csak regisztrált felhasználók láthatják ezt a tartalmat.]

"Na igen hurrá most van egy raj gombunk ami váltogatja a Textet tiszta MLG meg minden de mégis mit kezdjek vele?"
Rendelj hozzá funkciókat ugyan így bármilyen gombot amit elkészítesz bele tudsz verni a Menübe roppant egyszerűen!
Tételezzük fel, hogy van egy gombunk aminek a neve Kacsa...
Ezesetben így fog kinézni a két definiálásunk:
[Csak regisztrált felhasználók láthatják ezt a tartalmat.]
Valamint menjünk vissza oda ahol ezt a 2 menü gombot létrehoztuk és verjünk alá még 1 gombot így:
[Csak regisztrált felhasználók láthatják ezt a tartalmat.]
Húúha nagyon jó de mi mit csinál?
Gomb neve = ui.Button() <- ezzel szabod meg, hogy ez gombról van szó!
Gomb neve.SetUpVisual("alap_kép_elérése") <- ez lesz az alap képe a gombodnak
Gomb neve.SetOverVisual("kattintási[b]_kép_elérése") [/b]<- ez a kép lesz ha ráhúzzák az egeret
Gomb neveSetDownVisual("[b]lenyomva_kép_elérése") [/b]<- ő pedig akkor jön elő ha molesztálják klikkelgetéssel a szerencsétlen gombot..
Gomb neve.SetToolTipText("Gomb megjelenített neve") <- ez lesz ráírva a gombra például KATTINTS IDE ÉS NYERJ 40000 MILLIÓ RAJSZÖGET
Gomb neve.SetEvent(self.funkció) <- itt adod meg, hogy az adott gombod mit csináljon ha rákattintanak
Gomb neve.Hide() <- Fontos, hogy mindig Hide legyen hiszen a menüvel szeretnéd előhívni a gombot!
self.Gomb neve = Gomb neve <- ezzel úgy érzékeli a Gomb neve funkciót mintha self.Gomb neve lenne
self.Gomb neve.SetPosition(wndMgr.GetScreenWidth() / 2 +600,50) <- itt állíthatod be, hogy hol helyezkedjen a gombod! 

~Position tutorial következik (Pofázás warning)~
Szóval sajnos nem lehet megoldani mindent úgy, hogy a gombnak például 1820x800-as pozíciót adunk, mert aki csak HD monitorral csapatja nem igazán fogja látni a gombot.
Ezért találták ki a wndMrg.GetScreenWidth() funkciót!!!
Ami annyit tesz ki, hogy a képernyőd jobb oldalára rakja a 0,0 értéket szóval jobb oldalról indulsz pozícionálás terén
Ha nem használod ezt a funkciót akkor értelemszerűen az alap kiinduló pontod a bal oldal lesz.
A fent és lent party ugyan ez szinte hiszen ott is csak egy ilyen funkcióra lesz szükséged:
wndMgr.GetScreenHeight() Így az alap kiinduló pontod az alsó terület lesz
Ha nem használod a funkciót akkor értelemszerűen felülről kezded a történetet...
Mind a kettőt használhatod 1 dolog pozícionálásához és ilyenkor jöhet egy kis 4. osztályos matematika is!
Ismerkedjünk meg a jelekkel:
/ <- őt akkor használjuk ha osztunk
 wndMrg.GetScreenWidth() / 2 + 40 így most a felét vesszük a teljes képnek és hozzádunk még  40 et 
 wndMrg.GetScreenWidth() / 2 - 40 Ebben az esetben a felét vesszük a teljes képnek és kivonunk belőle még 40 et 
+ <- gondolom ez az összeadás lesz, de sajnos megbuktam matekból így csak találgatok.
- <- őt ismerem ő a kivonás hiszen mindig ezt látom mikor kifizetem a csekkeket!  Big Grin


Mádzsik! Ezzel a módszerrel kell bővíteni a menü tartalmát!

Noss nincs más hátra igazából mint az, hogy sok szerencsét és kellemes időtöltést kívánjak!
Ne felejtsetek mentéseket csinálni minden cirkuszimutatvány előtt és ne féljetek dolgokat kipróbálni!

UTÓIRAT A RAJOKNAK:
Nem szeretnék senkit megsérteni a kódolással, én is tudom, hogy szebben is meg lehetett volna írni de egy kezdő ne kezdjen már 2 soros scripteket írni úgy, hogy nem tudja mizu van az egész dologgal amit csinál!
Köszönöm a megértést!
[Kép: 54999571_p0.jpg]
~ Ha nem jönnék vissza 5 percen belül, akkor várjatok tovább! ~
Válaszol


Fórumra ugrás:


Jelenlevő felhasználók ebben a témában: 1 Vendég