我现在知道如何让船用键盘和游戏手柄移动,但我想弄清楚如何用鼠标移动它(例如,当我点击屏幕上的某个地方时,玩家会移动到那个位置) . 我已经在游戏中显示了鼠标,但是如何让它跟踪它并接受点击等?
问问题
339 次
2 回答
1
您需要将鼠标光标的屏幕坐标转换为世界坐标,然后将玩家移动到该世界坐标
运动取决于您的情况(游戏),但最简单的情况是
- 计算连接玩家当前位置和所需新位置的向量,
- 将向量归一化为表示单位时间内运动的大小,
- 然后通过归一化向量更新玩家的坐标,直到到达目的地
于 2012-05-23T15:41:55.643 回答
0
使用类似的东西,获取鼠标状态并从中获取坐标。然后在你的游戏中使用瓷砖的大小(如果你的玩家移动到瓷砖,否则忽略它)
MouseState ms = Mouse.GetState();
double x = Math.Floor(((double)ms.X / (double)TILE WIDTH);
double y = Math.Floor(((double)ms.Y / (double)TILE HEIGHT);
if (ms.RightButton == ButtonState.Pressed)
{
//Player.Position = new Vector2(x,y)... or something like that
}
if (ms.LeftButton == ButtonState.Pressed)
{
//And so on...
}
于 2012-05-23T20:12:42.043 回答