TextField.scrollV
垂直捲動的單位是字行,水平捲動的單位則是像素。 如果顯示的第一個字行是文字欄位中的第一個字行,scrollV 便會設定為 1 (而非 0)。
URLLoader.load()方法
public function load(request:URLRequest):void
從指定的 URL 傳送並載入資料。根據 dataFormat 屬性值,能以文字、原始二進位資料或 URL 編碼之變數的形式接收此資料。dataFormat 屬性的預設值為文字。
bottomScrollV屬性
bottomScrollV:int [唯讀]
整數 (從 1 開始的索引),指出目前在指定之文字欄位中,可以看見的最底端字行。 將文字欄位視為文字區塊上的視窗。 scrollV 屬性是視窗中,最頂端之可見字行的索引 (從 1 開始)。
在文字欄位中,scrollV 與 bottomScrollV 字行間的所有文字目前都是可見的。
※ 載入外部文字檔,由TextField讀取,倆顆按鈕控制向下和向上捲動文字行
1000714_TextField.scrollV.swf
package { import flash.display.MovieClip; import flash.text.TextField; import flash.net.URLRequest; import flash.net.URLLoader; import flash.events.Event; import flash.display.SimpleButton; import flash.events.MouseEvent; import flash.display.DisplayObject; import flash.net.URLLoaderDataFormat; import flash.events.IOErrorEvent; import flash.errors.IOError; public class Main extends MovieClip { public var dynTF:TextField; public var str:String; public var nextBtn:SimpleButton; public var preBtn:SimpleButton; public function Main() { this.initURLLoader(); /*滑鼠滾輪開關*/ /*Boolean 值,指出當使用者按一下文字欄位並滾動滑鼠滾輪時,Flash Player 是否會自動捲動多行文字欄位。 根據預設,這個值為 true。 如果想要防止滑鼠滾輪捲動文字欄位,或實作您自己的文字欄位捲動,這個屬性就會很有用。*/ this.dynTF.mouseWheelEnabled = true; this.nextBtn.addEventListener(MouseEvent.MOUSE_DOWN,readNextLOOP); this.nextBtn.addEventListener(MouseEvent.MOUSE_UP,removeReadNextLOOP); this.preBtn.addEventListener(MouseEvent.MOUSE_DOWN,readPreLOOP); this.preBtn.addEventListener(MouseEvent.MOUSE_UP,removeReadPreLOOP); return; } private function initURLLoader():void{ var urlReq:URLRequest = new URLRequest("http://dl.dropbox.com/s/y0eun5z88xxqw5e/1000714_TextField.scrollV_textStr2.txt"); var urlLoader:URLLoader = new URLLoader(); /**/ urlLoader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler); /**/ urlLoader.dataFormat = URLLoaderDataFormat.TEXT; urlLoader.addEventListener(Event.COMPLETE,readData); /**/ try{ urlLoader.load(urlReq); }catch(error:Error){ trace("Unable to load requested document."); } return; } private function readData(event:Event):void{ var tmpLoader:URLLoader = event.currentTarget as URLLoader; /*this.str = tmpLoader.data.split("\r\n").join("\n");*/ this.str = tmpLoader.data; trace(this.str); showText(); return; } private function showText():void{ this.dynTF.htmlText = this.str; trace("this.dynTF.maxScrollV : " + this.dynTF.maxScrollV); trace("this.dynTF.scrollV : " + this.dynTF.scrollV ); trace("this.dynTF.bottomScrollV : " + this.dynTF.bottomScrollV ); return; } private function readNextLOOP(event:MouseEvent):void{ this.addEventListener(Event.ENTER_FRAME,this.readNext); return; } private function removeReadNextLOOP(event:MouseEvent):void{ this.removeEventListener(Event.ENTER_FRAME,this.readNext); return; } private function readNext(event:Event):void{ this.dynTF.scrollV += 1; trace("this.dynTF.scrollV : " + this.dynTF.scrollV ); trace("this.dynTF.bottomScrollV : " + this.dynTF.bottomScrollV ); return; } private function readPreLOOP(event:MouseEvent):void{ this.addEventListener(Event.ENTER_FRAME,this.readPre); return; } private function removeReadPreLOOP(event:MouseEvent):void{ this.removeEventListener(Event.ENTER_FRAME,this.readPre); return; } private function readPre(event:Event):void{ this.dynTF.scrollV -= 1; trace("this.dynTF.scrollV : " + this.dynTF.scrollV); trace("this.dynTF.bottomScrollV : " + this.dynTF.bottomScrollV ); return; } private function tween1(_targetObject:DisplayObject,_now:Number,_new:Number):void { return; } /**/ private function ioErrorHandler(e:IOErrorEvent):void{ trace("ioErroerHandler : " + e); return; } } }
沒有留言:
張貼留言