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;
}
}
}


沒有留言:
張貼留言