gpt4 book ai didi

c# - 获取鼠标的移动方向

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:49 25 4
gpt4 key购买 nike

我知道有人问过这个问题,但在我的案例中,我不知道我是否可以使用 MouseEventArgs,因为它是一个渲染/输入循环,我正在尝试使用它这里是整个渲染/输入循环,我只能移动相当不方便的键盘。

public void update()
{


//--do raycast--//
raycast();

//=========================//
//=====take user input=====//
//=========================//

KeyboardState state = Keyboard.GetState();

bool lArrowKeyDown = state.IsKeyDown(Keys.Left) || state.IsKeyDown(Keys.A);

//MouseLeft
if (lArrowKeyDown)
{
rotate(rotSpeed);
}
//MouseRight
bool rArrowKeyDown = state.IsKeyDown(Keys.Right) || state.IsKeyDown(Keys.D);

if (rArrowKeyDown)
{
rotate(-rotSpeed);
}
//MouseUp
bool uArrowKeyDown = state.IsKeyDown(Keys.Up) || state.IsKeyDown(Keys.W);
bool shift = state.IsKeyDown(Keys.LeftShift);
if (uArrowKeyDown)
{
move(moveSpeed);
}
if (uArrowKeyDown && shift)
{
move(moveSpeed+0.01);
}

bool dArrowKeyDown = state.IsKeyDown(Keys.Down) || state.IsKeyDown(Keys.S);
//MouseDown
if (dArrowKeyDown)
{
move(-moveSpeed);
}

//=========================//
//=====user input end======//
//=========================//
}

这是整个渲染/输入循环,是否可以添加 MouseEventArgs?我不确定当这个循环时 MouseEventArgs 是否也循环。有人可以帮我吗?

最佳答案

我不完全确定你在问什么,但是如果你想从鼠标事件中获取移动方向,除非鼠标事件有最后一个位置和新的位置属性,你需要跟踪最后一个位置(x 和 y 值)并将其与当前位置一起使用来计算角度。

计算角度,见 Calculating the angle between the line defined by two points

我可以根据更多信息提供更好的答案。

关于c# - 获取鼠标的移动方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54946327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com