這篇要講的是我今天做3D TV Wall的聰明轉轉轉的程式概念XD
如圖所示
這是一個有八個面的圓柱體
假如今天我想輕輕的往左邊拉~~~~照理說是要轉到左邊那個面
右邊~~~就是轉到右邊那一面
我之前的寫法是判斷滑鼠左還是右滑~~~~然後用現在的角度進位或捨棄
這樣的寫法不好= =
因為會發生當我往右轉~~~~~卻沒達到近位條件而留在原來位置
當我左轉~~~~~卻無條件捨棄~~~~就會很輕鬆的到左邊那一面
所以使用者會覺得詭異~~~~~~因為左右轉行為有差XD
我現在的寫法是~~~
用現在角度除(360/總面數)
得到的除數~~~~~然後判斷是左滑右滑~~~~在+1或用原本數值
這樣就完成了~~~~做法簡單多了~~~~~~運算也比較少
var multiplier:Number = Math.floor(tvwall.currentAngle / (360 / tvwall.NUM_OF_PLANES));
if(isTurnLeft == true)
{
toCase = multiplier;
}
else
{
toCase = multiplier + 1;
}
沒有留言:
發佈留言