一個scroll bar 的元件就可以遇到這麼多的問題,真是不容小覷的東西阿~
今天遇到的問題是,我竟然沒辦法調整動態文字欄位的透明度,真是天殺的標準魔鬼藏在細節裡面。
先說明一下我想做到的效果,就是切換下一篇文字內容載入時,能夠有fade in (淡入)的效果,這時也才發現我動不了動態文字欄位的透明度,
當下想到的偷雞法,也是用了載完之後使用visible = true的方法,不過這對流暢度要求比較高一點的我來說,這樣半調子的效果真是引人發噱。
因此還是乖乖找一下解決的方法,當然要順便理解一下原因......
找到了這篇 來自 Ticore's blog
Flash 8 半透明輸入、動態文字欄位
大概講解了一下 :
Flash 8 以前,假如要做半透輸入文字欄位
必須要嵌入字型.....
拜 Flash 8 新增的功能所賜 - 點陣圖快取、濾鏡、混合模式... 方式很多種 當然你也可以自己用 ActionScript 將文字欄位做點陣圖處理 強迫 Flash Player 預先以點陣圖渲染的方式:
已經不需要嵌入字型
就可以做到半透明輸入、動態文字欄位
原理都是讓 Flash Player 底層將文字欄位預先以點陣圖方式處理過
這樣就可以套用 alpha 屬性了
不過比較麻煩一點
...
不過這些對我來說是比較麻煩了一點,
最後推薦的方式
就是在此動態文字欄位之外,再包一個sprite 或是 movieclip
把這個sprite.blendMode = BlendMode.LAYER;
(大部分的Blendmode函數中的屬性都能使用,但是最好的方式是使用BlendMode.LAYER,因為它會强制為其顯示對象設定一組透明度。)
接著就可以去動此sprite裡的元件的透明度了......爽阿!
(貼心小提醒 : 寫在as檔裡面的話要import flash.display.BlendMode; )
留言列表