以下實驗證明 flash 的動態文字字型大小是受限的
我用程式產生字型大小 116 ~ 130 的 TextField 並作滑鼠感應
當滑鼠移動到 TextField 上時顯示字型大小
證明字型大小最大只能到 127
demo
http://dl.dropbox.com/u/7377053/flash/textFieldFontSizeTest.html
Source
http://dl.dropbox.com/u/7377053/flash/textFieldFontSizeTest.fla
code
http://paste.plurk.com/show/948935/
tooltip.targetAlpha = 0; var textFormat:TextFormat = new TextFormat(); function getTextField(size:int):TextField{ var t:TextField = new TextField(); t.text = "A"; textFormat.size = size; t.selectable = false; t.setTextFormat(textFormat); t.autoSize = TextFieldAutoSize.LEFT; t.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); t.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); return t; } function onMouseOver(e:MouseEvent):void{ var t:TextField = (TextField)(e.target); tooltip.targetAlpha = 1; tooltip.t.text = t.getTextFormat().size; } function onMouseOut(e:MouseEvent):void{ var t:TextField = (TextField)(e.target); tooltip.targetAlpha = 0; } this.addEventListener(Event.ENTER_FRAME, onEnterFrame); function onEnterFrame(e:Event):void{ tooltip.x += (this.mouseX - tooltip.x) * 0.2; tooltip.y += (this.mouseY - tooltip.y) * 0.2; tooltip.alpha += (tooltip.targetAlpha - tooltip.alpha) * 0.2; } for(var i = 116 ; i <= 130 ; i ++ ) { var t:TextField = getTextField(i); var n = this.numChildren - 1; t.x = n % 5 * 100; t.y = Math.floor(n /5) * 100; this.addChild(t); } this.addChild(tooltip);
Try yourself
1. 開flash CS X
2. 弄個靜態文字 字型大小設成 200
3. 把靜態文字切換到動態文字
會發現字變小了
怎麼解決這個問題?
用 Sprite 裝 TextField 再對 Sprite 作放大
沒有留言:
張貼留言