Valentínska akcia je tu! Získaj až 80 % extra kreditov ZADARMO na náš interaktívny e-learning. ZISTIŤ VIAC:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:6.5.2013 15:25

Opět zdravim, tentokrát z jiného fóra.
Potřeboval bych vědět jak matematicky vypočítat pohyb po směru. Tudíž když nastavím třeba směr 45°, tak kolik mám přičíst k ose x a k ose y? Už jsem to někdy dělal, ale z matematiky si to nepamatuju a ten projekt ve kterým jsem to měl jsem ztratil.

 
Odpovedať
6.5.2013 15:25
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Petr Nymsa:6.5.2013 15:28

No ted to nemám po ruce, ale myslím že by to mohlo být takto (XNA a C#)

float rotation; // úhel rotace

Vector2 pos; // pozice hráče

pos.X+=Math.Sin(rotation)*2f;
pos.Y+=Math.Cos(rotation)*2f;

Základ je jasný, Sinus a Cosinus, bohužel už nevím jak je to se znaménkami. Trochu si zkus s tím pohrát. Mě to fungovalo

Hore Odpovedať
6.5.2013 15:28
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Theodor Johnson
David Hartinger:6.5.2013 15:31

Pokud potřebuješ vždy 45 stupňů, tak nemusíš počítat nic.

Jinak je to:

x += cos(úhel) * rychlost;
y += sin(úhel) * rychlost;
Hore Odpovedať
6.5.2013 15:31
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Theodor Johnson:6.5.2013 15:32

Díky, to je přesně ono.

 
Hore Odpovedať
6.5.2013 15:32
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Petr Nymsa:6.5.2013 15:33

Akorát jsem prohodil funkce, máme hodinu, tak se soutředím na půl co píšu :D

Hore Odpovedať
6.5.2013 15:33
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Theodor Johnson
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Theodor Johnson:6.5.2013 15:34

Já jsem tušil něco takovýho, ale ani zaboha jsem si nevzpoměl jestli k X se přičíta sinus nebo cosinus :)

 
Hore Odpovedať
6.5.2013 15:34
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Theodor Johnson
David Hartinger:6.5.2013 15:38

K X je cosinus, je to tam špatně.

Hore Odpovedať
6.5.2013 15:38
New kid back on the block with a R.I.P
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Petr Nymsa:6.5.2013 15:38

Tak je to vlastně trojůhelník, X je přilehlá odvěsna, Y je protilehlá odvěsna. Akorát mám dojem , že v XNA jsem musel u jednoho nějak odčítat, aby mi to fungovalo, no zkus to a uvidíš :)

Hore Odpovedať
6.5.2013 15:38
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Crusty
Člen
Avatar
Crusty:6.5.2013 15:39

pokud pocitas pohyb a nemas konstantni framerate tak nezapomen zapocist i deltu casu

Hore Odpovedať
6.5.2013 15:39
www.2ox.cz
Avatar
Crusty
Člen
Avatar
Crusty:6.5.2013 15:39

odeslano 2x, prosim smazat

Editované
Hore Odpovedať
6.5.2013 15:39
www.2ox.cz
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Theodor Johnson
Kit:6.5.2013 15:42
x += cos(úhel) * rychlost;
y -= sin(úhel) * rychlost;
Hore Odpovedať
6.5.2013 15:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na Kit
David Hartinger:6.5.2013 15:44

Nojo, v matice jsou otočené souřadnice :)

Hore Odpovedať
6.5.2013 15:44
New kid back on the block with a R.I.P
Avatar
Theodor Johnson
Tvůrce
Avatar
Theodor Johnson:6.5.2013 15:44

David Hartinger jj už to psal Zirko že to obrátil

Crusty já bych jednoduše vynásobil ještě rychlost počtem ms od posledního snímku

 
Hore Odpovedať
6.5.2013 15:44
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Kit
Petr Nymsa:6.5.2013 15:46

Jo o tom jsem mluvil, ale nevěděl jsem jestli to bylo u X nebo Y :D

Hore Odpovedať
6.5.2013 15:46
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Tvůrce
Avatar
Odpovedá na David Hartinger
Kit:6.5.2013 15:52

Také mi to občas dává zabrat. Někdy je lepší si udělat engine, který má vnější rozhraní matematické, aby se to nepletlo.

Hore Odpovedať
6.5.2013 15:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 15 správy z 15.