Im動畫精靈w javacript - 這些精靈包含一個容器DIV,firstChild是絕對定位的IMG。圖像由對象的16個垂直視圖/角度組成。當對象從A移動到B時,ATAN2函數會計算適合對象行進方向的style = top:值。除了精靈的另一個方面,這一切都可以工作 - 它們可以改變它們的大小。精靈的默認大小是24像素(寬),這對ATAN2有效,但一旦精靈變大,計算就會使精靈的幀條失調。下面是代碼,x1-y1是從和到的位置,而s是尺寸(寬度)。數值128是最大尺寸 - 和bracked值是允許的一個子畫面的最後計算假定此,然後計算用於與*(S/128)的實際尺寸...當縮放值時ATAN計算失敗
function P_angle(x1,x2,y1,y2,s)
{
var v=parseInt(Math.atan2(x2-x1,y2-y1)/(Math.PI/180)+180)
return (v>348.75?0:v>326.25?-128:v>303.75?-256:v>281.25?-384:v>258.75?-512:v>236.25?-640:v>213.75?-768:v>191.25?-896:v>168.75?-1024:v>146.25?-1152:v>123.75?-1280:v>101.25?-1408:v>78.75?-1536:v>56.25?-1664:v>33.75?-1792:v>11.25?-1920:0)*(s/128);
}
由於方向與大小無關,因此v計算看起來不錯。第二行只是壞消息 - 無法讀取,效率不高,等等。那是什麼? – phkahler 2011-05-13 11:22:00