下面講一下如何制作滾動(dòng)文本框,一個(gè)仿制IEBOOK的滾動(dòng)文本框,我是使用ActionScript2.0編寫的。其基本思路是在文本放一個(gè)遮罩層,當(dāng)鼠標(biāo)移動(dòng)到上下箭頭按鈕時(shí),文本作反向運(yùn)動(dòng)。
首先,新建一個(gè)新Flash文檔。
第二步,插入一個(gè)空白的“影片剪輯元件”命名為“Box”以備后用。(當(dāng)然你也可以有自己的命名,下面講解中的命名也一樣)
第三步,插入“影片剪輯元件”,命名為“txt”,然后在元件“txt”用“文本工具”畫一個(gè)文本框,文本必須是動(dòng)態(tài)文本,然后實(shí)例化為“txtson”坐標(biāo)為(0,0),寬度根據(jù)實(shí)際需要調(diào)整,高度應(yīng)設(shè)置盡量高,為今后有一些長文本留下空間,不過需要指出的是文本框的高度并不是可以設(shè)置無限大的,我在制作時(shí)發(fā)現(xiàn)文本框高度超過3000,遮罩就會(huì)出現(xiàn)問題。然后在文本框輸入一段長一些的文字。
第四步,插入“影片剪輯元件”,命名為“BlackCover”,然后用“矩形工具”,畫出一個(gè)任意大小的矩型,筆觸為無色,填充色可以是除無色外的任意色。坐標(biāo)為(0,0),這個(gè)元件一會(huì)將作為遮罩。
第五步,建立兩個(gè)“按鈕元件”,分命名為“UpArrow”,“DownArrow”。然后在“UpArrow”中畫一個(gè)筆觸為黑色,填充色為無的小框框,然后在用“多角星形工具”,分別畫一兩個(gè)尖角朝上的三角形,將三角形放到小框框中心。全選“UpArrow”的框框與三角形,將坐標(biāo)設(shè)為(0,0),在全選的情況下將復(fù)制框框與三角形,將它們粘貼到“DownArrow”。在“DownArrow”將框框與三角形同時(shí)旋轉(zhuǎn)180度,之后同樣也將二者全選,設(shè)置坐標(biāo)為(0,0)。(我將框框的長寬設(shè)為(13,13),三角形設(shè)為(10,8.7)).至此除“Box”,所有元件均以準(zhǔn)備好了。
第六步,打開那個(gè)空白的元件“Box”。拖入元件“txt”,坐標(biāo)(0,0),實(shí)例化為“Txt1”接著插入一個(gè)圖層,命名為圖層2,將元件“BlackCover” 拖入,坐標(biāo)(0,0),實(shí)例化為“BlackCover1”,并使“BlackCover1”的寬與“Txt1”的寬相同,高度根據(jù)實(shí)際應(yīng)用的情況設(shè)定。接著將圖層2設(shè)為遮罩層。繼續(xù)插入一個(gè)圖層,命名為btn,將“UpArrow”、“DownArrow” 拖入。分別實(shí)例化為BtnUp1、BtnDown1位置可以任意,因?yàn)榘粹o位置將根據(jù)“BlackCover1”自動(dòng)適應(yīng)。插入最后一個(gè)圖層,代碼層,命名as。
第七步,編寫代碼。在as層的第一禎按[F9],編寫動(dòng)作,代碼如下
if (Txt1.txtson.textHeight+5<=BlackCover1._height)
{
}
else
{
}
這段代碼的意思是設(shè)置“BtnUp1”、“BtnDown1”的位置,并且如果當(dāng)Txt1的文本高度低于BlackCover1時(shí),(注意是文本的高度,而非文本框的高度)。按鈕被隱藏,也就是文本沒有遮罩高時(shí),不需要滾動(dòng)。
接著選中btn層的“BtnUp1”,[F9]進(jìn)入編寫代碼,代碼如下
on (rollOver) {
}
on (rollOut) {
}
這個(gè)代碼意思是當(dāng)鼠標(biāo)移動(dòng)到“BtnUp1”,讓”Txt1”作反向運(yùn)動(dòng),向下移動(dòng),因?yàn)檎谡帧癇lackCover1”是不動(dòng)的,所以運(yùn)行時(shí),看起來,文本就好像向下移了。當(dāng)然,這并不是無限移動(dòng)的,當(dāng)鼠標(biāo)離開或文本框到末尾時(shí)就停止移動(dòng)。下面“BtnDown1”的原理也一樣,只不過移動(dòng)方向正好相反。選擇“BtnDown1”[F9]進(jìn)入編寫如下代碼。
on (rollOver) {
//
//
//
}
on (rollOut) {
}
最后,返還到舞臺(tái),將box拖入舞臺(tái),測試影片,文字移動(dòng)了。在今年的應(yīng)用中,我們只要將“庫”中的“box”復(fù)制到需要的flash文檔的庫中,然后根據(jù)排版需要,先調(diào)整“Txt1”的寬,“BlackCover1”的高,并且使“BlackCover1”的寬等于“Txt1”的寬就OK了。
!評(píng)論內(nèi)容需包含中文