Jypeli-JYU / Jypeli

A simple educational C# game programming library built on top of Silk.NET.
24 stars 4 forks source link

Touch -luokan osa Position arvoista palauttaa väärän arvon #36

Closed juvonevi closed 1 year ago

juvonevi commented 1 year ago

PrevPosition -arvot palauttavat arvon jossa koordinaatiston nollapiste on vasen yläkulma. Position -arvot palauttavat arvon jossa koordinaatiston nollapiste on näytön keskellä. Aiheuttaa MovementOn -arvoihin niiden erotuksen, joka on täysin väärä arvo.

Testi funktio

public override void Begin()
    {
        TouchPanel.Listen(ButtonState.Down, (t) => {
            {
                MessageDisplay.Clear();
                var Vektori = t.PositionOnWorld;
                MessageDisplay.Add("PositionOnWorld" + Vektori.X.ToString() + " " + Vektori.Y.ToString());
                Vektori = t.PrevPositionOnWorld;
                MessageDisplay.Add("PrevPositionOnWorld" + Vektori.X.ToString() + " " + Vektori.Y.ToString());
                Vektori = t.MovementOnWorld;
                MessageDisplay.Add("MovementOnWorld" + Vektori.X.ToString() + " " + Vektori.Y.ToString());
                Vektori = t.PositionOnScreen;
                MessageDisplay.Add("PositionOnScreen" + Vektori.X.ToString() + " " + Vektori.Y.ToString());
                Vektori = t.PrevPositionOnScreen;
                MessageDisplay.Add("PrevPositionOnScreen" + Vektori.X.ToString() + " " + Vektori.Y.ToString());
                Vektori = t.MovementOnScreen;
                MessageDisplay.Add("MovementOnScreen" + Vektori.X.ToString() + " " + Vektori.Y.ToString());
            }
        }, "PositionTesti");
    }

Ongelman saa korjattua muokkaamalla riviä 86 Touch.cs tiedostosta seuraavaksi

public Vector PrevPositionOnScreen
        {
            get
            {
                return ScreenView.FromDisplayCoords(_previousPosition);
            }
        }

Vaikuttaa korjaavan kaikki muut väärät arvot oikeiksi