動作腳本位圖(或BitmapData)很奇怪。不僅它的cacheAsBitmap默認爲false,但它似乎BitmapData並不僅僅是一個位圖!如何真正光柵化Actionscript 3中的文本?
我發現,動畫文本行阿爾法會讓他們眨眼。我試圖要解決它在許多方面,其中之一是繪製與背景位圖的文字和動畫的位圖:
package
{
import flash.events.Event;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.text.TextField;
public class Main extends Sprite
{
private var bdata1:BitmapData = new BitmapData (150, 50, false, 0xDDDDFF);
private var bitmap1:Bitmap = new Bitmap(bdata1);
private var bdata2:BitmapData = new BitmapData (100, 100, false, 0x00FFFF);
private var bitmap2:Bitmap = new Bitmap (bdata2);
private var show:Boolean = false;
public function Main():void
{
stage.frameRate = 1;
var tf:TextField = new TextField();
tf.text = "layer top";
bdata1.draw(tf);
tf.text = "layer bottom"
bdata2.draw (tf);
//*
bitmap1.cacheAsBitmap = true;
bitmap2.cacheAsBitmap = true;
//*/
addChild (bitmap2);
addChild (bitmap1);
addEventListener (Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame (e:Event):void
{
if (show) var diff:Number = .2;
else diff = -.2;
bitmap1.alpha += diff;
if (bitmap1.alpha >= 1) {
show = false;
bitmap1.alpha = 1;
}
else if (bitmap1.alpha <= 0) {
show = true;
bitmap1.alpha = 0;
}
}
}
}
它應該做的是順利(當然,如果你改變了FPS)層之間的」過渡底部「和」層頂「文本。它的功能很奇怪,至少在我的機器上,清楚地表明位圖中的文本不是像位圖那樣對待,而是作爲一個矢量(可能是TextLine)。那麼BitmapData只是模擬位圖?這是一個錯誤嗎?我錯過了什麼嗎?
http://megaswf.com/file/2433597這裏是如果你不想自己編譯它。 (使用全屏模式) –