請問有人可以幫我解釋一下這語法嗎?
btnno = 5;
ang = 0;
divang = 360/btnno;
for (i=0; i
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
在解釋之前,希望你懂一些基本的國中歐氏幾何、三角代數,以及投影理論。
btnno = 5; // 五個按鈕
ang = 0; // 初始角度為 0
divang = 360/btnno; // 按鈕如果按照圓的排列,等分的間閣角度
for (i=0; i
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⤋