[c#] Pohyb několika labely najednou – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

[c#] Pohyb několika labely najednou – .NET – Fórum – Programujte.com[c#] Pohyb několika labely najednou – .NET – Fórum – Programujte.com

 

Poody
~ Anonymní uživatel
6 příspěvků
14. 12. 2012   #1
-
0
-

Zdrávas
To, co zatím mám, je funkční, ale nevýhodně. Při kliku na tlačítko se na formě vytvoří nový label a ten potřebuju rozhýbat.Dá se jich vytvořit až 100 a všechny by se měly hýbat nezávisle na sobě přes jeden timer. Samozřejmě bych mohl do timeru, který mi bude všemi labely hýbat, napsat řádek pro všech 100 labelů. Teď tam mám cyklus for, který po jednom projíždí všechny labely a postupně jimi hýbe.. Labely se po vytvoření jmenují label[], kde i je od 1 do 100. Máte někdo řešení, které by hýbalo všemi tak, aby na sebe navzájem nečekali? (ano, vytvoření 100 labelů mě taky napadlo, ale to je celkem legrační řešení)

Nahlásit jako SPAM
IP: 85.132.159.–
CZechBoY+4
Věrný člen
14. 12. 2012   #2
-
0
-

#1 Poody
od .NET 4 máš celkem pohodový System.Threading.Parallel.ForEach

Nahlásit jako SPAM
IP: 94.112.108.–
ingiraxo+15
Grafoman
14. 12. 2012   #3
-
0
-

tak jak to máš se to dělá i normálně, prostě projedes pres cyklus vsechny Labely a zmenis jejich pozice, pokud to mas pres timer (za predpokladu, ze se se projizdi kazdych zhruba 16-17ms)

Parallel.ForEach jen zapřáhne vsechny jadra, kde kazdy jadro bude mit vlastni cyklus jakoby

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Poody
~ Anonymní uživatel
6 příspěvků
14. 12. 2012   #4
-
0
-

Takže co nejmenší interval na timeru a nebude to poskakování poznat? A pokud jo, tak to rozdělit na všechna jádra.. Jásně

Nahlásit jako SPAM
IP: 85.132.159.–
ingiraxo+15
Grafoman
15. 12. 2012   #5
-
0
-

né co nejmensi, bohate staci, kdyz se bude menit pozice 60x za sekundu, coz odpovida zhruba kazdych 16ms, pro lidsky oko je to plynulej pohyb.. pak je jen otazka, kolik tech objektu je a jak je narocna scena a resi se to pomoci delta casu, kterej castecne vyrovna to sekani

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Poody
~ Anonymní uživatel
6 příspěvků
15. 12. 2012   #6
-
0
-

Jo paráda, nejde to vůbec poznat. :) Ještě mi prosím teda řekněte, jak jim nastavím průhlednost pozadí, aby se navzájem nepřekrývali pozadím, jen textem.

Nahlásit jako SPAM
IP: 85.132.159.–
CZechBoY+4
Věrný člen
15. 12. 2012   #7
-
0
-

#6 Poody
nastavíš transparentkey na stejnou hodnotu jako je pozadí

Nahlásit jako SPAM
IP: 213.192.10.–
Poody
~ Anonymní uživatel
6 příspěvků
15. 12. 2012   #8
-
0
-

A že mi tam zůstane pozadí z formy.. T_T

Nahlásit jako SPAM
IP: 85.132.159.–
ingiraxo+15
Grafoman
15. 12. 2012   #9
-
0
-

TransparentKey ti nepomuze, to je na form a né na Labely a nastaveni Transparentu na Labelu taky nepomuze, to je ciste na barvu pozadi, né na Labely mezi sebou

Mám dojem, ze to u Labelu nejde, musel by si vsechny resit pres vykresleni a né pres komponentu

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Poody
~ Anonymní uživatel
6 příspěvků
15. 12. 2012   #10
-
0
-

Tuším, že na VB to šlo.. :D
Vykreslovat jsem to zkoušel, ale tam je pak problém s promazáváním formy. Na panelu mi zase zmizely všechny "vykreslené labely" až na ten poslední..

Nahlásit jako SPAM
IP: 85.132.159.–
ingiraxo+15
Grafoman
15. 12. 2012   #11
-
0
-

já mám dojem, že to bez vlastního vykreslení nejde, ve WPF to půjde, ale winform jsou na tohle trochu natvrdlý a musíš to řešit trochu jinak

no tak to si měl špatnej způsob vykreslování, si pravděpodobně vytvářel grafickej ovladač a nepoužíval událost Paint

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Poody
~ Anonymní uživatel
6 příspěvků
18. 12. 2012   #12
-
0
-

Událost paint jsem použil.. Je mi jasný, že tam něco bylo špatně, ale co, to kdybych věděl..

Nahlásit jako SPAM
IP: 85.132.159.–
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, 5 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ý