一、前言
今天在寫遊戲的時候,死活想不起來面板的拖動算法。明明是個超級簡單的數學問題,咋今天就是反應不過來呢。嚇得我趕緊看了看幾年前寫的遊戲裏的算法...
二、效果
這是兩三年前寫的mmorpg,已經棄坑多年啦。
三、算法
我們已知:
1.鼠標按下時的座標x1,y1
2.鼠標移動時的座標x2,y2
3.面板沒被拖動時的座標x3,y3
我們要求:
面板在鼠標移動時的座標x,y
那麼問題就很簡單了,被拖動的面板始終是跟隨着鼠標的。
所以面板的座標就是鼠標座標減去鼠標按下時與面板的距離。
設dx,dy爲鼠標按下時距離面板的距離,那麼
dx=x1-x3
dy=y1-y3
所以
x=x2-dx
y=y2-dy
化簡可得
x=x2-x1+x3
y=y2-y1+y3
咋就沒想起來呢,簡直弱智,哈哈