2017-07-04 44 views
0

在win2D屏幕的相对鼠标位置,获取绝对鼠标位置是这样的(从Win2D雪碧样品)如何获得它转变

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

但是,这是一个绝对位置,

我做出是否鼠标指向游戏机

所以,我做了这个代码,但它不起作用。

 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; 
     } 

有没有人解决过这个问题?

回答

0

我已经解决了我自己。无论如何。 代码是这样的

  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; 
     }