[C#] Schiefer Wurf

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Flu, 20. September 2011 .

Schlagworte:
  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.
     
  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
     
  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
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.