Flash AS教程:旋轉(zhuǎn)立方體_Flash教程
推薦:在網(wǎng)頁中用Flash動畫直接播放MP3音樂很多網(wǎng)頁中都插有Flash播放代碼,這不僅是為了頁面元素的多樣化,更是為了內(nèi)容體現(xiàn)的需要。很多時候,我們會碰到這樣的問題:根據(jù)需要使用Flash的script來讀取不同
好,下面開始:
stop();
//這個stop是讓FLASH播放在這一幀停下來,但對代碼的運行沒有影響~其實不用也沒關(guān)系
angle=-0.03;
dot_x=Stage.width/2;
dot_y=Stage.height/2;
p=70;
d=300;
//先初始化一下變量~angle是立方體每次轉(zhuǎn)過的角度,dot_x和dot_y定義了空間的原點,p是立方體邊長的一半,d是眼
//睛距離屏幕的像素
sx=new Array(-p,p,p,-p,-p,p,p,-p);
sy=new Array(-p,-p,-p,-p,p,p,p,p);
sz=new Array(-p,-p,p,p,-p,-p,p,p);
//這三個數(shù)組儲存了立方體八個點的實際坐標(biāo)
tempx=new Array(8);
tempy=new Array(8);
//這兩個數(shù)組用來存儲立方體8個點在屏幕上的坐標(biāo)
function r(){
for(i=0;i temp_x=sx*Math.cos(angle)-sz*Math.sin(angle);
temp_z=sx*Math.sin(angle) sz*Math.cos(angle);
//這個是用來計算立方體在轉(zhuǎn)動時八個點的坐標(biāo)
sx=temp_x;
sy=sy;
sz=temp_z;
//要這樣賦值一下~否則立方體會越轉(zhuǎn)越長
tempx=(sx/(sz d))*d dot_x;
tempy=(sy/(sz d))*d dot_y;
//這個是用來將立方體的實際坐標(biāo)轉(zhuǎn)化成屏幕的坐標(biāo),不懂的可以參考一下計算機圖形學(xué)的書
}
_root.createEmptyMovieClip("lines", 1);
lines.lineStyle(1, 11111111, 100);
lines.moveTo(tempx[0],tempy[0]);
lines.lineTo(tempx[1],tempy[1]);
lines.lineTo(tempx[2],tempy[2]);
lines.lineTo(tempx[3],tempy[3]);
lines.lineTo(tempx[0],tempy[0]);
lines.lineTo(tempx[4],tempy[4]);
lines.lineTo(tempx[5],tempy[5]);
lines.lineTo(tempx[6],tempy[6]);
lines.lineTo(tempx[7],tempy[7]);
lines.lineTo(tempx[4],tempy[4]);
lines.moveTo(tempx[1],tempy[1]);
lines.lineTo(tempx[5],tempy[5]);
lines.moveTo(tempx[2],tempy[2]);
lines.lineTo(tempx[6],tempy[6]);
lines.moveTo(tempx[3],tempy[3]);
lines.lineTo(tempx[7],tempy[7]);
_root.removeMovieClip("lines");
//上面的這一堆東西是用來把算出來的立方體的點用線連起來~其實可以優(yōu)化一下的
updateAfterEvent();
//更新一下
}
setInterval(r,5);
//每隔5毫秒運行一次函數(shù)r
終于寫完了哈
" /> 寫的不好~請見諒`~再發(fā)一次效果,嘿嘿 網(wǎng)
分享:Flash教程:if條件語句的用法if是假如的意思,假如條件符合,即true,就執(zhí)行代碼,條件不符合的話,不執(zhí)行或者執(zhí)行其它代碼.語法為: if(條件){ //代碼 } www.hl5o.cn if常和else用在一起,語法為: if(條件){ //代碼 }else{ //代碼 } if里的條件不符合,則執(zhí)行else里的代碼.如我們設(shè)定: aa=5; if(aa>1){ t
- 相關(guān)鏈接:
- 教程說明:
Flash教程-Flash AS教程:旋轉(zhuǎn)立方體
。