Как получить относительное положение мыши на экране, который трансформируется

В win2D, получить абсолютную позицию мыши это (из примера Win2D Sprite)

var point = e.GetCurrentPoint((UIElement)sender).Position.ToVector2();

Но это абсолютная позиция,

Я делаю, указывает ли мышь Game Player

Итак, я сделал этот кодекс, но он не работает.

        var rpoint = e.GetCurrentPoint(canvas).Position.ToVector2();



        // 사각형 길을 보여주기  
        if ((rpoint.X > wizardPosition.X - 64) && (rpoint.X < wizardPosition.X + 64) && (rpoint.Y > wizardPosition.Y - 150) && (rpoint.Y < wizardPosition.Y + 42) )
        {
            if (ShowBorder == true) { ShowBorder = false; }

             else if (ShowBorder == false)
                ShowBorder = true; 
        }

Кто-нибудь решил эту проблему?

1 ответ

Я решил сам Тем не мение. Код это

            var rpoint = e.GetCurrentPoint(this).Position.ToVector2();


        // Invert the display transform, to convert pointer positions into simulation rendertarget space.
        Matrix3x2 Mtransform;
        Matrix3x2.Invert(transform, out Mtransform);

        var xpoint = Vector2.Transform(rpoint, Mtransform);

        // 사각형 길을 보여주기  
        if ((xpoint.X > wizardPosition.X - 64) && (xpoint.X < wizardPosition.X + 64) && (xpoint.Y > wizardPosition.Y - 150) && (xpoint.Y < wizardPosition.Y + 42) )
        {
            if (ShowBorder == true) { ShowBorder = false; }

             else if (ShowBorder == false)
                ShowBorder = true; 
        }
Другие вопросы по тегам