English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問有人可以幫我解釋一下這語法嗎?

btnno = 5;
ang = 0;
divang = 360/btnno;
for (i=0; i radian = ang*Math.PI/180;
this["btnmc"+i].ang = ang;
this["btnmc"+i]._x = Math.cos(radian)*150;
this["btnmc"+i]._y = Math.sin(radian)*30;
ang = ang+divang;
}
function rotateball(mcname) {
this[mcname]._x = 150*Math.cos(this[mcname].ang*Math.PI/180);
this[mcname]._y = 30*Math.sin(this[mcname].ang*Math.PI/180);
this[mcname].ang += mousedir;
if (this[mcname].ang<0) {
this[mcname].ang = this[mcname].ang+360;
}
if (this[mcname].ang>360) {
this[mcname].ang = this[mcname].ang-360;
}
var mcno = mcname.substring(5);
if (this[mcname].ang>180 and this["depthmc"+mcno].haveswap>0) {
this[mcname].swapDepths(this["depthmc"+mcno]);
this["depthmc"+mcno].haveswap *= -1;
}
if (this[mcname].ang<180 and this[mcname].ang>0 and this["depthmc"+mcno].haveswap<0) {
this[mcname].swapDepths(this["depthmc"+mcno]);
this["depthmc"+mcno].haveswap *= -1;
}
var radian = this[mcname].ang*Math.PI/180;
this[mcname]._xscale = Math.sin(radian)*30+70;
this[mcname]._yscale = Math.sin(radian)*30+70;
this[mcname]._alpha = Math.sin(radian)*30+70;
}

2007-07-10 21:07:15 · 2 個解答 · 發問者 ? 3 in 電腦與網際網路 程式設計

http://forum.heytalk.com/viewthread.php?tid=1401&extra=page%3D1

你可以來這網頁看看~

2007-07-11 20:22:28 · update #1

你要加入會員喔~ 黑秀網是個很棒的論壇! 很值得加入!

2007-07-12 18:50:07 · update #2

for (i=0; i
這句不太懂?  寬 300 高 60 的橢圓怎麼出現的?

2007-07-17 10:58:29 · update #3

對了~我想問說,為何我設定他案鈕跑到影格10都沒反應?

而他第一個案鍵設定跑到某某網站就行的通?

2007-07-19 01:40:12 · update #4

2 個解答

在解釋之前,希望你懂一些基本的國中歐氏幾何、三角代數,以及投影理論。

btnno = 5; // 五個按鈕
ang = 0; // 初始角度為 0
divang = 360/btnno; // 按鈕如果按照圓的排列,等分的間閣角度
for (i=0; i radian = ang*Math.PI/180; // 角度轉弧度制
this["btnmc"+i].ang = ang; // 給每個影片角度屬性附值
this["btnmc"+i]._x = Math.cos(radian)*150; // 影片屬性 _x 附值,_x = 橢圓 X 軸半徑乘以 cos(弧度)
this["btnmc"+i]._y = Math.sin(radian)*30; // 影片屬性 _y 附值,_y = 橢圓 Y 軸半徑乘以 sin(弧度)
ang = ang+divang; // 下一個角度 = 現行角度 + 間格角度
}
function rotateball(mcname) {
this[mcname]._x = 150*Math.cos(this[mcname].ang*Math.PI/180); // 見上
this[mcname]._y = 30*Math.sin(this[mcname].ang*Math.PI/180); // 見上
this[mcname].ang += mousedir; // 本影片角度屬性 = 現行角度屬性 + 滑鼠移動增量
if (this[mcname].ang<0) { // 角度小於零相當於 360 度加該角度
this[mcname].ang = this[mcname].ang+360;
}
if (this[mcname].ang>360) { // 角度大於 360 度相當於該角度減去 360 度
this[mcname].ang = this[mcname].ang-360;
}
var mcno = mcname.substring(5);
if (this[mcname].ang>180 and this["depthmc"+mcno].haveswap>0) {
// 超過 180 度影片基本上是 0 - 180 影片動畫的鏡像,給個判斷值,就可以少做一半的事
this[mcname].swapDepths(this["depthmc"+mcno]);
this["depthmc"+mcno].haveswap *= -1;
}
if (this[mcname].ang<180 and this[mcname].ang>0 and this["depthmc"+mcno].haveswap<0) {
this[mcname].swapDepths(this["depthmc"+mcno]);
this["depthmc"+mcno].haveswap *= -1;
}
var radian = this[mcname].ang*Math.PI/180;
this[mcname]._xscale = Math.sin(radian)*30+70; // 處理每個影片按照弧度計算的縮小比例
this[mcname]._yscale = Math.sin(radian)*30+70;
this[mcname]._alpha = Math.sin(radian)*30+70; // 處理每個影片按照弧度計算的半透明比例
}


2007-07-19 02:56:59 補充:
那個是因為你透過螢幕看那五個按鈕形成的圓本身 (嘖,應該是環本身) 有個倾角。你可以拿個碗公來,假設五個按鈕黏在碗公旁邊,從碗公正上方朝下看是正圓形,妳坐正把碗公往前移一點觀察就變成橢圓,同樣的道理。

2007-07-20 05:16:02 補充:
不太懂你的意思。rotatemenu 裡面包五個 影片 Instance (btmc0 → btmc4),btmc0 裡面有包一個按鈕,按鈕本身只是花瓶擺著好看,btmc0 裡頭的 on(release) { getURL(...);} 才是做事的。

2007-07-17 02:54:29 · answer #1 · answered by mh 7 · 0 0

不好意思 !! ,

我用測試語法的網站測試出來的

沒有東西呢  ^ ^ *

是不是您貼錯了呢 ?!

這邊有幾個測試語法的網站

http://freebsd.chjhs.tpc.edu.tw/~94214/2.htm

http://h2ung.myweb.hinet.net/h5.htm

http://newhome3.myweb.hinet.net/htmlcss.htm

您可以幫您的語法貼在上面

按下確認

就會顯示他們是什麼語法囉 ^ ^ *

2007-07-12 00:41:23 補充:
不好意思

我只看到

*~**~**~**~**~**~**~**~*


Fla 常常貼 ( 10 ) 3D 選單


 
 
 



附件: 您所在的用戶組無法下載或查看附件




 
 天下無敵‧就是天下無敵
*~**~**~*

沒看到語法耶= =?

2007-07-11 20:09:30 · answer #2 · answered by 楚楚 2 · 0 0

fedest.com, questions and answers