(二) 為OK按鈕添加相應(yīng)的程序代碼。
1、先制作一個標(biāo)準(zhǔn)的OK按鈕,并將其插入主場景。
2、轉(zhuǎn)到主場景,選取OK按鈕,打開Action面板,并轉(zhuǎn)到Expert Mode(專家模式)。由于我們需要在按下OK按鈕時,執(zhí)行我們的程序,因此為此按鈕添加以下腳本:
on (release) { }
3、首先在最開始加入我們的變量定義,代碼如下:
// 用戶輸入變量. var Width = Number(_root.ButW); var Height = Number(_root.ButH); var Left = Number(_root.ButL); var Top = Number(_root.ButT); var Round = Number(_root.ButR/100); var BColor = (_root.ButC); var Right = Left+Width; var Bottom = Top+Height; //第二個矩形的參數(shù) var SWidth = Width*0.9; var SHeight = Height*0.5; var SLeft = Left+(Width/20); var STop = Top+(Height/20); var SRound = Round*1.6; var SRight = SLeft+SWidth; var SBottom = STop+SHeight;
4、下面我們需要將Fireworks API調(diào)用加入此函數(shù)。在Flash MX中,每個API函數(shù)都可以被Flash API所調(diào)用,它們之間是通過以下方法互相傳遞的,即使用MMExecute()函數(shù)。例如在Fireworks中的以下命令:
fw.getDocumentDOM().addNewRectanglePrimitive({left:Left, top:Top, right:Right, bottom:Bottom}, Roundess);
調(diào)入Flash MX中后需要轉(zhuǎn)換為:
MMExecute("fw.getDocumentDOM().addNewRectanglePrimitive({left:"+left+", top:"+top+", right:"+right+", bottom:"+bottom+"},"+Round+");");
需要注意的是,MMExecute取代了以前舊版本的FWJavascript函數(shù),不過FWJavascript仍舊可以使用,也就是說以下寫法同樣可以執(zhí)行:
FWJavascript("fw.getDocumentDOM().addNewRectanglePrimitive({left:"+left+", top:"+top+", right:"+right+", bottom:"+bottom+"},"+Round+"); ");
不過我們推薦使用新的第一種寫法。此時加入的腳本如下所示:
//繪制第一個矩形 MMExecute ("fw.getDocumentDOM().addNewRectanglePrimitive({left:"+left+", top:"+top+", right:"+right+", bottom:"+bottom+"},"+Round+"); "); //填充第一個矩形漸變色 MMExecute ("fw.getDocumentDOM().setFill({ category:'fc_Linear', ditherColors:[ '#000000', '#000000' ], edgeType:'antialiased', feather:0, gradient:{ name:'cn_Custom', nodes:[ { color:'#ffffff', isOpacityNode:false, position:0 }, { color:'"+BColor+"', isOpacityNode:false, position:1 } ], opacityNodes:[ { color:'#000000', isOpacityNode:true, position:0 }, { color:'#000000', isOpacityNode:true, position:1 } ] }, name:'Linear Smooth', pattern:null, shape:'linear', stampingMode:'blend opaque', textureBlend:0, webDitherTransparent:false });"); //設(shè)置第一個矩形漸變色方向 MMExecute ("fw.getDocumentDOM().setFillVector({x:"+Left+",y:"+Bottom+"}, {x:"+Left+", y:"+Top+"}, {x:"+Right+", y:"+Bottom+"});"); //添加Inner Shadow效果 MMExecute ("fw.getDocumentDOM().applyEffects({ category:'UNUSED', effects:[ { EffectIsVisible:true, EffectMoaID:\"{5600f702-774c-11d3-baad0000861f4d01}\", ShadowAngle:315, ShadowBlur:5, ShadowColor:'#000000a6', ShadowDistance:0, ShadowType:0, category:'Shadow and Glow', name:'Inner Shadow' } ], name:'UNUSED' });"); //繪制第二個矩形 MMExecute ("fw.getDocumentDOM().addNewRectanglePrimitive({left:"+SLeft+", top:"+STop+", right:"+SRight+", bottom:"+SBottom+"},"+SRound+"); "); //填充第二個矩形 MMExecute ("fw.getDocumentDOM().setFill({ category:'fc_Linear', ditherColors:[ '#000000', '#000000' ], edgeType:'antialiased', feather:0, gradient:{ name:'cn_Custom', nodes:[ { color:'#000000', isOpacityNode:false, position:0 }, { color:'#ffffff', isOpacityNode:false, position:1 } ], opacityNodes:[ { color:'#000000', isOpacityNode:true, position:0 }, { color:'#000000', isOpacityNode:true, position:1 } ] }, name:'Linear Smooth', pattern:null, shape:'linear', stampingMode:'blend opaque', textureBlend:0, webDitherTransparent:false });"); //改變第二個矩形的填充方向 MMExecute("fw.getDocumentDOM().setFillVector({x:"+SLeft+",y:"+SBottom+"}, {x:"+SLeft+", y:"+STop+"}, {x:"+SRight+", y:"+SBottom+"});"); //改變混合模式 MMExecute ("fw.getDocumentDOM().setBlendMode('screen');");
5、OK按鈕的執(zhí)行腳本基本已經(jīng)輸完了,最后我們還需要添加一個結(jié)束此命令的語句,以便釋放相應(yīng)的變量并返回到用戶的當(dāng)前文檔。Flash MX提供了新的MMEndCommand()函數(shù),以取代舊版本的FWEndCommand()函數(shù),當(dāng)然FWEndCommand()仍舊得到支持。腳本代碼如下:
// End command and release system resources MMEndCommand (true, "");
(三) 為Cancel按鈕添加相應(yīng)的腳本。相對來說Cancel的腳本就很簡單了,只需結(jié)束當(dāng)前命令并返回到用戶文檔即可,代碼如下:
on (release) { // End command and release system resources MMEndCommand (true, ""); }
出處:
責(zé)任編輯:藍(lán)色
上一頁 進(jìn)入Flash MX進(jìn)行開發(fā) 下一頁 輸出到Fireworks MX測試并調(diào)試代碼
◎進(jìn)入論壇Photoshop、Fireworks版塊參加討論
|