#1 20. September 2011 Schiefer Wurf Hi. ich habe folgenden Code, der mir einen schiefen Wurf simulieren soll. Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework; namespace WindowsPhoneGame1 { class Enemy { //Enemy Texture Texture2D enemyTexture; //Enemy Position public Vector2 position; //State of Enemy public bool active = true; //startspeed and angle private int v = 100; private int angle = 45; //Gravity float g = 9.81f; //t für den schiefen Wurf float t = 10; public void Update(GameTime gameTime) { //Elapsed Time since the game started float time = (float) gameTime.ElapsedGameTime.TotalSeconds; float x = (float)(v * Math.Cos(angle) * t); t += time; position.X = x; position.Y = (float) (v * Math.Sin(angle) * t - 0.5f * g*t*t); //position.Y = (float) -(g / (2 * Math.Pow(v,2) * Math.Pow(Math.Cos(angle),2)) * Math.Pow(x,2) + Math.Tan(angle) * x); } } } Das klappt auch soweit. mein Objekt macht immer den weg einer nach oben offenen Parabel. der soll aber eine nach unten offene Parabel ablaufen. Außerdem ist die parabel so weit gestreckt, die soll viel enger abgegangen werden ( statt einer parabel mit der ausdehnung richtung x achse von 10 zentimeter, soll sie nur eine mit 5 cm haben). wie muss ich den code nun abändern, damit dies geschieht? hoffe auf Hilfe. BWs für gute Antworten sind klar. + Multi-Zitat Zitieren
#2 20. September 2011 AW: Schiefer Wurf Hallo! In einem Koordinatensystem auf dem PC wird y normalerweise groesser je tiefer es liegt (x = 0 und y = 0 ist die linke obere Ecke eines Bereichs). Du ziehst aber g * t * t von der y-Koordinate ab. Das ist der Grund, warum deine Parabel nach oben geoeffnet ist. Folglich musst du auch die Wurfkraft, die in y-Richtung wirkt, umkehren (nach oben erfordert eine negative Einwirkung auf y). Mfg, Kolazomai + Multi-Zitat Zitieren
#3 20. September 2011 AW: Schiefer Wurf Bei mir klappt das irgendwie nicht. jetzt hab ich das prob, dass der statt bei 0/0 anzufangen irgendwo am unteren bildschirrand anfängt, kurz verschwindet und wieder auftaucht. kann mir evtl. einen mal nen kleines beispiel als quellcode geben? wäre wirklich nett + Multi-Zitat Zitieren