Diskuze: Generování objektů

C# .NET .NET (C# a Visual Basic) Generování objektů American English version English version

Avatar
Paranormal
Redaktor
Avatar
Paranormal:

Tak jsem tu zase :) A chtěl bych se zeptat jak generovat objekty. Většinou když sem si třeba tvořil nějakou hru tak sem pracoval s jedním objektem , který se pohyboval. Ale já bych potřeboval těch objektů vytvořit víc.

Chtěl bych vás poprosit i třeba o ukázku přiloženou v souboru pod příspěvkem, který si budu moci projít ve Visual studiu a lépe pochopit. Díky moc kdo to udělá :)

Takže, jedná se o to že bych potřeboval například střílet takže generovat projektily. Ale uděláme to jednodušší na vysvětlení takže. Třeba vytvoření objektů, které budou padat od horního okraje směrem dolů a vygeneruje se jich třeba 10 za sekundu..

Děkuji

Odpovědět 4.12.2015 20:37
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Odpovídá na Paranormal
Petr Čech (czubehead):

Myslíš jakože generování formulářových prvků, co reprezentují projektily, nebo to kreslíš na canvas?

Nahoru Odpovědět 4.12.2015 21:30
Why so serious? -Joker
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Petr Čech (czubehead)
Paranormal:

já právě nějak ani nevím jak začít víš :D v základu mám Form > Panel a na panel vykresluji pictureboxy a labely atd... Alle nevím co by bylo lepší.

Nahoru Odpovědět 4.12.2015 22:14
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Odpovídá na Paranormal
Matyáš Černohous (Matesak):

Děláš ve WinForms ? Pokud jo, tak nepočítej s tím, že tam dosáhneš nějaké plynulejší animace...zvlášť když tam chceš těch objektů generovat několik (např ty náboje - tu tam určitě nebudeš mít jen jednu ). Pokud chceš dělat nějakou hru s animacema tak použij WPF a nebo pak už nějaký framework. Tady je článek, který porovnává vykreslování a animaci ve WPF a WinForms :) http://www.itnetwork.cz/…ykreslovani/

 
Nahoru Odpovědět  +1 4.12.2015 23:12
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Matyáš Černohous (Matesak)
Paranormal:

Jasné, chápu. Ale mě jde hlavně o to jak vygenerovat víc těch objektů :) Až to budu vědět tak se zaměřím na rychlost :)

Nahoru Odpovědět 5.12.2015 11:43
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
rwn
Člen
Avatar
Odpovídá na Paranormal
rwn:

Velkou roli hraje opravdu to, co s tím chceš ve výsledku dělat. Takovéto "jednoduché" pohyby ve hře můžeš udělat třeba přes XNA framework, který je na takovéto věci docela jednoduchý na implementaci. Jinak jak bylo řečeno, ve WinForms na vykreslování zapomeň. Jsou sice možnosti jak i ve WF udělat smysluplnější vykreslení, ale nikdy vykreslení WPF nepřekonáš. Pokud chceš vygenerovat 10 různých objektů, tak si uděláš prostě třídu, která bude znázornovat ten tvůj Objekt. S tím, že mu dáš třeba metodu gravitace, která se zavolá v konstruktoru objektu. Takže se objekt bude po vytvoření vždy posouvat dolů, atd.. záleží, co s tím chceš dál dělat. :)

Nahoru Odpovědět  +1 5.12.2015 12:26
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Lukas C#
Redaktor
Avatar
Odpovídá na Paranormal
Lukas C#:

Když jsem chtěl začít tvořit hry, tak jsem vůbec nevěděl, jak začít. Tohle byl pro mě raketový odpich:
http://www.itnetwork.cz/…ame/jellybox
Je tam přesně to, co potřebuješ.

Editováno 5.12.2015 12:48
 
Nahoru Odpovědět  +1 5.12.2015 12:47
Avatar
Gramli
Redaktor
Avatar
Odpovídá na Paranormal
Gramli:

WPF je samozdrejme mnohem rychlejsi, ale ve WF se daji v pohode udelat taky plynule hry a na zacatek to staci viz - http://www.itnetwork.cz/…a-space-hero, http://www.itnetwork.cz/…a-eastergame -> vykreslovani primo do formulare. Jsou u toho i zdojaky, takze se muzes podivat na zpusob vykreslovani.

Nahoru Odpovědět  +2 6.12.2015 18:41
Kdo to říká ten to je...
Avatar
huty
Člen
Avatar
huty:

Ahoj, taky jsem se dostal k tomu, že bych potřeboval vygenerovat více objektů. Ne ve hře, ale uvedu na příkladu co bych potřeboval: Mějme třídu Pes, která má svoje atributy a metody. Normálně bych mohl jít do Program.cs a napsat

Pes pes = new Pes();

Já bych ale chtěl vytvořit třeba list psů a naplnit ho vygenerovanými psy, aby se jmenovali třeba pes1, pes2 pes3 atd.. Šlo by to nějak udělat? nějakým cyklem třeba? Díky za odpověď :)

Nahoru Odpovědět 20. září 21:21
obecně je lepší používat více proměnných a dodržovat přehlednost, než psát co nejkratší kód a po měsíci zapomenout, j...
Avatar
magic44
Redaktor
Avatar
Odpovídá na huty
magic44:

Nějak nechápu otázku. Tohle je základ oop, který se můžeš naučit ze zdejších článků..
Jinak aby jsi měl klidné spaní, tak tady je kód :)..

Třída pes:

public class Pes
{
        string jmeno;
        public Pes(string jmeno)
        {
                this.jmeno = jmeno;
        }
}

A jak vytvořit 10 psů a dát je do listu..

List<Pes> psy = new List<Pes>();
for(int i = 0;  i < 10; i++)
{
        psy.Add(new Pes("pes" + i.ToString()));
}
Nahoru Odpovědět 20. září 23:29
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
magic44
Redaktor
Avatar
Odpovídá na Paranormal
magic44:

Jinak k původní otázce. Vykašli se na formy, pokud chceš dělat animaci, nebo hru. XNA je na to přímo dělané a jednoduše v tom uděláš na první pohled složité věci :) (viz. samozřejmě zdejší tutoriály). A vytváření objektů je stejné, jako u těch psů.
Tady (http://www.itnetwork.cz/…ovani-kostek) je část tutoriálu, kde se ve hře tetris vytváří nové "kostky".

Editováno 20. září 23:36
Nahoru Odpovědět 20. září 23:34
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
huty
Člen
Avatar
Odpovídá na magic44
huty:

Je mi to jasný, diky. později mi to taky došlo. Dik moc.

Nahoru Odpovědět 21. září 11:11
obecně je lepší používat více proměnných a dodržovat přehlednost, než psát co nejkratší kód a po měsíci zapomenout, j...
Avatar
Odpovídá na magic44
Luboš Běhounek (Satik):

XNA už není podporované, navíc pro jeho vývoj musíš mít konkrétní verzi Visual Studia apod., spíš bych se koukal po Monogame nebo třeba SharpDX.

Editováno 21. září 11:18
Nahoru Odpovědět 21. září 11:18
:)
Avatar
magic44
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
magic44:

No a, že není podporované? Pokud chce dělat hry, tak se to na tom dobře naučí. Co jsem se naposledy koukal na MonoGame, tak pořád neumělo půlku věcí, co XNA (Přiznávám, že to bylo před hodně dlouhou dobou, co jsem na to koukal. Jak to je teď vážně netuším). A VS můžeš mít, jaké chceš, ne jenom 10. Já na tom dělal ve 13 a bylo to bez problému.
Btw stejně, pokud to bude myslet trošku vážně, tak postupem času přejde na Unity, nebo něco podobného.

Nahoru Odpovědět 21. září 16:01
Moudrý člověk nechce být lepší než ostatní, ale lepší, než byl sám včera.
Avatar
Odpovídá na magic44
Luboš Běhounek (Satik):

Co si pamatuju, tak různé verze XNA byly vždycky svázaný jen s jenou verzí VS.
Navíc musíš mít nainstalovanej XNA redist, což u Monogame ani SharpDX nemusíš :)

A z těch základních věcí umí Monogame v podstatě všechno - viz třeba http://zvb.cz/den/

Nahoru Odpovědět 21. září 16:38
:)
Avatar
jackx
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
jackx:

Ja nasel XNA pro me VS 2015 Pro a funguje to v pohode ;) Pokud by chtel treba resit Daviduv Tetris v Mono, musel by se poprat treba s budbou na pozadi. V XNA song na pozadi nahraje v pohode pres content, v monogames "musi" pouzit song pres Uri. "Musi" mam v zavorce, protoze to jde mozna jinak, ale na to jsem nedosel. Kazdopad mas pravdu, XNA je mrtve :(

Nahoru Odpovědět 21. září 22:56
Nic není nemožné.
Avatar
Odpovídá na jackx
Luboš Běhounek (Satik):

Tak uz to asi uvolnili pro vsechny verze, v dobach XNA 3.1, kdy jsem to pouzival, to slo nainstalovat jen do jedny verze VS :)

Ja na zvuky pouzivam vsude FMOD - je to jednoduche, i pro male komercni hry (do 100k$) zadarmo, umi to spoustu veci a pouziva se to skoro vsude - CryEngine, Unity, Unreal Engine, hry od Blizzardu a spousta dalsich.

Editováno 22. září 8:14
Nahoru Odpovědět 22. září 8:13
:)
Avatar
jackx
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
jackx:

Ano, XNA 4.0.5 jede i na VS 2015 Pro. Jen je třeba dodržet následující instalační postup:

  1. Install DirectX
  2. Install XNA Framework 4.0 Redistribution
  3. Install XNA Game Studio 4.0 Platform Tools
  4. Install XNA Game Studio 4.0 Shared
  5. Install XNA Game Studio 4.0.vsix

Když by to někdo potřeboval, pošlu link.


Moc díky za nasměrovani na FMOD. Už to zkouším :-)

Nahoru Odpovědět 22. září 21:38
Nic není nemožné.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.