2D hra - stavovy stroj – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

2D hra - stavovy stroj – .NET – Fórum – Programujte.com2D hra - stavovy stroj – .NET – Fórum – Programujte.com

 

Dusan
~ Anonymní uživatel
62 příspěvků
19. 6. 2009   #1
-
0
-

Ahoj,

programuju v C# jednoduchou 2D hru typu Pacman. Vytvoril jsem stavovy stroj. Ten obsahuje herni smycku, tj. cyklus bezici po celou dobu behu programu, obstaravajici aktualizaci a vykreslovani herniho stavu.

Potreboval bych poradit:
1. Do ktere udalosti herni smycku vlozit? (zatim je ve FormLoad)
2. Potreboval bych, aby cyklus po kazde iteraci na chvili "usl" a ponechal tak systemove prostredky pro vykresleni formulare atp. Jak na to ? (nebo vytvorit Timer a smycku volat po iteracich?)

Diky Dusan

Nahlásit jako SPAM
IP: 217.197.149.–
dannyk0
Věrný člen
19. 6. 2009   #2
-
0
-

1, Ono je to vesmes jedno, kde to das, ale v nejake inicializacni funkci by to melo byt (nebo by se to melo aspon nejak aktivovat z ni)
2, Thread.Sleep(100) by mohl pomoct :)

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
mnn
~ Anonymní uživatel
118 příspěvků
19. 6. 2009   #3
-
0
-

1. Vyuzit XNA
2. ja by som vyuzil Application.Idle udalost
3. Timer (Interval=1) ak bude stacit
4. V Loade (kludne aj volat inu metodu)

Nahlásit jako SPAM
IP: 78.98.55.–
Dusan
~ Anonymní uživatel
62 příspěvků
19. 6. 2009   #4
-
0
-

Bohuzel pri pouziti Thread.Sleep(xxxx) a udalosti FormLoad se ani neotevre formular.
Smycku jsem premistil do udalosti KeyDown a kdyz ji aktivuju stiskem klavesy, tak aplikace prestane odpovidat a okno lze obtizne premistovat.

Nahlásit jako SPAM
IP: 217.197.149.–
Chrasty
~ Redaktor
+4
Posthunter
19. 6. 2009   #5
-
0
-

To je proto, že ten Thread.Sleep voláš na primární vlákno, které se zároveň stará o vykreslování uživatelského rozhraní. Jakmile uspáno, aplikace se navenek zmrazí a systém ji identifikuje jako "neodpovídá".

Nahlásit jako SPAM
IP: 193.179.196.–
Dusan
~ Anonymní uživatel
62 příspěvků
19. 6. 2009   #6
-
0
-

Zatim jsem vytvoril Timer a smycku volam z nej, po iteracich. Protoze jeste zbytek aplikace neni vytvoreny, nemuzu zatim zkontrolovat, jestli to staci. Kdyztak bych potom asi pro smycku vytvoril vlastni vlakno.

Diky Dusan

Nahlásit jako SPAM
IP: 217.197.149.–
Miro17010
Stálý člen
19. 6. 2009   #7
-
0
-

ja skusam neco vytvorit a pouzivam OpenTK GameWindow, + OpenTK ma aj vylepseny OpenGL(resp. zjednoduseny o to ze sa nemusis starat v akom formate tam vlozis hodnoty pozicie pri vectoroch, resp. mozes vlozit Vector(x) a ono si to uz samo da (v.x, v.y, v.z),...)
A mas tam aj fps obmedzovac zvlast pre render a update(pokial das 0 tak si to asi da na nekonecno).

Nahlásit jako SPAM
IP: 85.248.47.–
začinajúci programátor v .Net: C# & OpenTK: OpenGL( pouzivam ), OpenAL( zatial nepouzivam ), OpenCL( este som neskusal )
dannyk0
Věrný člen
19. 6. 2009   #8
-
0
-

2 Chrasty: Jo, to uspani formu kvuli vlaken sem si zrovna v te chvili neuvedomil :)

Jinak, jak pise mnn, tak XNA je dobrou volbou.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý