XNA Game Studio 2D-s környezetben osztály klónozása, hogyan?
"csak a Vector2 vagyis a pozíciókban különbözzenek"
Szerintem neked konstruktor kell.
class Ellenség
{
public Vector2 vektor
public Ellenség(Vector2 vektor) // Konstruktor
{
this.vektor = vektor;
}
}
Köszönöm a válaszod! Ok ezt idáig így meg tudtam csinálni, le is fut hiba nélkül, de nem tudom aztán hogyan tovább, hogy adogathatom meg a betölteni kívánt ellenségeket? Tudom List-nél pl.
ellenseg.pontok.Add(new Vector2(44, 556));
Amit te írtál tudnád picit részletezni? Nagyon megköszönném. Sorry ha hülyeségeket kérdek, de mint mondtam nekem ez a rész nagyon de nagyon nem megy :/
Csinálsz egy ellenség osztályt ugye. CSinálsz neki vmi Udate fgvt amit te mindig meghívsz pl a Game Update jében
Vagyis szépen végigmész midnen ellenségen és meghívod az ő saját updatejét, ő ekkor szépen megnézi hogy hol is van merre megy mi történik, és ezek alapján teszi a dolgát.
Szóval ha idáig megcsináltam hogy:
class ellenseg
{
public Texture2D kep;
public Vector2 pont;
public Rectangle forras;
public Rectangle rendeltetes;
public int szamlalo;
public bool kapcsolo;
public ellenseg(Texture2D kep, Vector2 pont, Rectangle forras, Rectangle rendeltetes, int szamlalo, bool kapcsolo)
{
this.kep = kep;
this.pont = pont;
this.forras = forras;
this.rendeltetes = rendeltetes;
this.szamlalo = szamlalo;
this.kapcsolo = kapcsolo;
}
}
akkor lefut hiba nélkül persze. No de nekem pon az a kód kell, amivel aztán ezt létre tudom hozni, vagyis példányosítani, addig megy, hogy:
static List<ellenseg> ellensegek = new List<ellenseg>();
és akkor:
ellensegek.Add(new ellenseg...); na és itt pontosan hogyan adom meg amit kell?
No meg aztán egy Update-n belül a foreach-ban hogy kezelem le? Gondolom olyasmi hogy:
foreach(ell in ellensegek) (esetleg kell for is???)
{
}
És ugye ott van még a kirajzolás is persze. Ezeket nem tudom.
08-16 11:01
"Nem értem mit szeretnél. Van egy listát, belerakosgatod az ellenfeleket, mindegyiknek saját pozíciója van. ÉS akkor mit szeretnél ezekkel csinálni?"
Szóval maga a kód megvalósítása. Az hogy mit szeretnék vele csinálni az már részlet kérdése, kb. annyit, hogy amit 1x megadok feltételt az ellenségre, akkor az összesre ugyanaz legyen érvényes, vagyis mindegyikre amit létrehoztam, csak éppen külön pozíciókban. Tehát ne legyen az, hogyha az egyik példánnyal ütközök vagy megváltozik a képkockája, akkor ő miatta a többi összes példányé is ugyanúgy megváltozzon. Ha közelébe ér a játékosom, akkor ne kezdjen el az egész támadni felém, csak az amelyik xy centire van hozzám közel. Vagy ha kinyírom az egyiket, akkor csak az az egy példány nyiffanjon ki, és ne az összes társával együtt. Ha simán csak a Vector2-őt rakom List-be, akkor valami nagyon alapvető szinten működik ez az egész, vagyis amiket most leírtam ezzel a módszerrel nem valósítható meg, max annyi ha neki mék tűnjön el onnét és adjon érte pl valamennyi pontot, vagy hogy tudjam scrool-ozni. De nekem ennél több kell, a logika felépítésével nem is lenne gondom, csak maga a kód nem világos, nem tudom leprogramozni. És akkor gondolom ha 1 példányra megadok egy feltételt, akkor az az összes példányra majd érvényes, és rögtön könnyítettem magamon is. Valahogy úgy képzeltem el, hogy egy külön void Valami()-n belül, vagyis ne éppen a LoadContent()-ban adjam meg ezeket a sorokat, mert akk nagy lenne a káosz ha mindent ott adok meg, és úgy, hogy mindegyiket külön sorban, annyi hogy a Vector2 résznél mindegyik példány más értéket kap majd.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!