[英]How do I move a player to where my mouse is clicked in a game in C#/XNA?
我目前知道如何使用鍵盤和游戲板移動飛船,但是我試圖弄清楚如何也使用鼠標移動飛船(例如,當我單擊屏幕上的某個位置時,玩家將移動到該位置) 。 我已經將鼠標顯示在游戲中,但是如何獲取它來跟蹤它並接受點擊等?
您將需要將鼠標光標的屏幕坐標轉換為世界坐標,然后將播放器移至該世界坐標
動作取決於您的情況(游戲),但最簡單的情況是
使用類似的方法,獲取鼠標狀態並從中獲取坐標。 然后使用游戲中圖塊的大小(如果玩家移動到圖塊,則忽略該大小)
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...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.