Smart rotate~~~~~~~~XD

這篇要講的是我今天做3D TV Wall的聰明轉轉轉的程式概念XD

如圖所示
Photobucket

這是一個有八個面的圓柱體

假如今天我想輕輕的往左邊拉~~~~照理說是要轉到左邊那個面

右邊~~~就是轉到右邊那一面

我之前的寫法是判斷滑鼠左還是右滑~~~~然後用現在的角度進位或捨棄

這樣的寫法不好= =

因為會發生當我往右轉~~~~~卻沒達到近位條件而留在原來位置

當我左轉~~~~~卻無條件捨棄~~~~就會很輕鬆的到左邊那一面

所以使用者會覺得詭異~~~~~~因為左右轉行為有差XD


我現在的寫法是~~~

用現在角度除(360/總面數)

得到的除數~~~~~然後判斷是左滑右滑~~~~在+1或用原本數值

這樣就完成了~~~~做法簡單多了~~~~~~運算也比較少


var multiplier:Number = Math.floor(tvwall.currentAngle / (360 / tvwall.NUM_OF_PLANES));

if(isTurnLeft == true)
{
toCase = multiplier;
}
else
{
toCase = multiplier + 1;
}

沒有留言: