Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 80% výuky zdarma!
https://www.itnetwork.cz/csharp
Avatar
matesax
Redaktor
Avatar
matesax:18.6.2012 18:40

Dobrý den,
moc nepočítám s tím, že by se dala nějak zjistit kolize - tak alespoň - jak bych na to nejlépe měl jít? Protože potřebuji zjistit, zda posunovaný předmět nebude při příštím posunutí v kolizi s nějakým objektem... Děkuji.

 
Odpovědět
18.6.2012 18:40
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:18.6.2012 19:15

Kolize čeho s čím? Je rozdíl mezi kolizí bodů, úseček, obdélníků, trojúhelníků...

Nahoru Odpovědět
18.6.2012 19:15
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:18.6.2012 19:19

Picturebox s různými prvky formu - minimálně tlačítka a textboxy,...

 
Nahoru Odpovědět
18.6.2012 19:19
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:18.6.2012 20:07

Na co to? Přijde mi to přinejmenším nestandardní. Každopádně přece znáš souřadnice a rozměry, stačí po jednoduché úvaze napsat kolizi 2 obdélníků:

Jestli to dám z hlavy, tak:

x2 + width2 >= x1 &&
y2 + height2 >= y1 &&
x1 + width1 <= x2 &&
y1 + height1 <= y2

Zkus to :)

Nahoru Odpovědět
18.6.2012 20:07
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:18.6.2012 20:12

No jo, jenže se mi to nechtělo dělat pro každý objekt zvlášť - tedy výpočet mohu dát do funkce, ale volat ji musím pro každý objekt,...

 
Nahoru Odpovědět
18.6.2012 20:12
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:18.6.2012 20:14

Představoval jsem si vytvoření něčeho, jako třeba radar - prostě kouknout se pod sebe, jestli tam něco není,...

 
Nahoru Odpovědět
18.6.2012 20:14
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:18.6.2012 20:18

To budeš muset vždy. Formy na tohle prostě nejsou uzpůsobené. Udělej si funkci, která bude brát Control (nebo jak je ta třída pro formulářové prvky). Potom tím projeď kolekci controls na formuláři nebo panelu nebo v čem je máš. Teď mě nenapadá, jak to udělat inteligentněji, než zkontrolovat každý s každým, ale stejně je to zanedbatelná operace, pomalé to nebude.

Nahoru Odpovědět
18.6.2012 20:18
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
matesax
Redaktor
Avatar
Odpovídá na David Čápka
matesax:18.6.2012 20:38

A nešlo by to přes pole? Prostě získat všechny součásti formu a všechny prozkoušet cyklem. Když jsem zkusil this.Container­.Components, tak mi to napsalo, že odakz není nastaven na instanci objektu,...

 
Nahoru Odpovědět
18.6.2012 20:38
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:18.6.2012 20:47

To jsem ti psal: "Potom tím projeď kolekci controls na formuláři"

Každý prvek formu by měl mít vlastnost Controls, kde jsou uloženy Controly co obsahuje.

Nahoru Odpovědět
18.6.2012 20:47
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
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 9 zpráv z 9.