Anonymní profil Andus – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Andus – Programujte.comAnonymní profil Andus – Programujte.com

 

Příspěvky odeslané z IP adresy 80.251.252.–

Andus
.NET › XNA 2D zoom vycentrování
21. 8. 2011   #146628

Dobrý den, postupoval sem podle návodu zde: http://www.david-amador.com/2009/10/xna-camera-2d-with-zoom-and-rotation/ a vytvořil jsem si kameru kterou do kterou pohybuju, aby byla vycentrovaná nad spritem. Ovšem když obraz přiblížím nebo oddálím, tak již sprit není vycentrován a nevím jak dopočítat ten posun. Nevíte někdo jak to vyřešit?

Děkuju :)

Andus
.NET › Pohyb spritu - C# XNA
14. 8. 2011   #146191

Ok díky o Normalize() a Lenght() jsem nevěděl. A možnost překročení maximální rychlosti udělám trošku jinak.

Díky Andus

Andus
.NET › Pohyb spritu - C# XNA
11. 8. 2011   #146036

Jak by sis představoval ale velocity.Normalize(); a co by tady byla ta maxSpeed?

Metoda MoveUnderAngle mi vrátí posun o jeden pixel (speed == 1) pod úhlem angle a tak postupně zrychluje, ovšem když otočím loď o  180 stupňů změním tak onen angle a metoda MoveUnderAngle mi vrací hodnoty opačné a díky špatně navrženému omezovači rychlosti okamžitě v daném směru zpomalí ...

Zde kód té metody jestli to k nečemu bude:

public Vector2 MoveUnderAngle(float angle, float distance) {
float alfa = (float)((Math.PI / 180) * 90 - ((Math.PI / 180) * 180 - angle));
float y = (float)(Math.Sin(alfa) * distance);
float x = (float)(Math.Cos(alfa) * distance);
return new Vector2(x, y);
}
Andus
.NET › Pohyb spritu - C# XNA
10. 8. 2011   #146024

Dobrý den, pracuji na jedné hře v XNA. Jedná se o vesmírnou loď která létá po vesmíru. Normálně se loď pohybuje v pořádku jak bych si představoval, ale když vložím do hry omezovač rychlosti, který má omezit maximální rychlost pod daným úhlem (jinak by mi loď šikmo mohla letět dvojnásobnou rychlostí). Loď tehdy při zatáčení okamžitě zpomaluje, což je zde nechtěné.
Zde je problematický kus kódu:

//speed = 1.0f
//angle = aktualni sklon lodi vuci ose v radianech
//acceleration = 0.001f

Vector2 move = MoveUnderAngle(angle, speed);
Vector2 maxMove = new Vector2(Math.Abs(move.X), Math.Abs(move.Y));
velocity += move * acceleration;

if (Math.Abs(velocity.X + move.X*acceleration) > maxMove.X) {
  velocity.X = (velocity.X > 0 ? maxMove.X : maxMove.X * -1);
}
if (Math.Abs(velocity.Y + move.Y * acceleration) > maxMove.Y)
{
  velocity.Y = (velocity.Y > 0 ? maxMove.Y : maxMove.Y * -1);
}
//.....
sprite.Position += velocity;

Chtěl bych, aby loď zpomalovala plynule když změní směr aby se daným směrem nepřestala při otočení ihned pohybovat. Zde přikládám ještě 2 videa s ukázkou jak se loď pohybuje s omezovačem a jak bez něj. 

Videa zde

Lama
.NET › Visual Studio 2010 - ASP.NET
10. 7. 2011   #144101

To tam právě nemám

Lama
.NET › Visual Studio 2010 - ASP.NET
10. 7. 2011   #144094

Dobrý den, chtěl jsem se zeptat, jak začít s vývojem v ASP.NET. V poslední době se trochu učím C# a chtěl bych se v něm podívat na to ASP.NET. Chtěl bych jej ale vyvíjet ve Visual Studiu C#, ovšem v něm nemám žádný projekt typu ASP.NET. Nevíte kde bych mohl najít nějakou extenzi která jej doinstaluje nebo jestli má ASP.NET vlastní verzi Visual Studia? 

Děkuju

Lama
.NET › XNA Menu
5. 7. 2011   #143762

Dobrý den, učím se XNA a chtěl bych si v něm udělat menu. Líbí se mi toto řešení http://create.msdn.com/en-US/education/catalog/sample/game_state_management , ale nechápu jak tam funguje ta třída ScreenManager a k čemu slouží třída DrawableGameComponent od níž je tato třída zděděna. Mohl by mi to prosím někdo vysvětlit? 

 

 

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