我在MonoGame中遇到鼠标位置的问题,我无法弄清楚我做错了什么。我希望游戏窗口位于我的光标位置,所以我做了这个简单的行:
protected override void Update(GameTime gameTime)
{
Window.Position = new Point(Mouse.GetState().X, Mouse.GetState().Y);
base.Update(gameTime);
}
但如果我这样做,游戏窗口会在两个位置之间闪烁。问题是什么 ?我做错了吗?
谢谢!
答案 0 :(得分:0)
当你想到它时,它确实很有意义。让我举个例子:
Cursor is 500,500 (in relation to Window)
Window is 300,300 (in relation to Screen)
The first time the code runs, it moves the window to 500,500.
Meaning the cursor will now have a location of 300,300 (in relation to Window).
The second time the code runs, it will detect the mouse is now at 300,300, and thus move the Window back to 300,300.
因此它永远存在。
要完成我认为你想要的东西,你需要考虑窗口的当前位置。
这意味着你必须锁定"鼠标的位置(相对于窗口),每当此更改时,移动窗口移动鼠标位置的量。当然,再次将鼠标移回