عدم تغییر متن tlf با اکشن اسکریپت

sabersoft

Active Member
سلام
من یک TLFTextField رو با اکشن اسکریپ ساختم وقتی می خوام داخل یه تایمر با ویژگی .text متن داخلش رو عوض کنم متن عوض نمیشه بلکه به آخر متن موجود در اون اضافه میشه.(مثل دستور appendText)
چند تا خبر توی یک فایل xml هستند می خوام اونها رو با یه تایمر یکی یکی نشون بدم
 

sabersoft

Active Member
خیلی عجیبه.
شاید از عملگر جمع استفاده کردین .
کدتون رو بزارین تا بررسی شه.
ممنونم
PHP:
var myTLFTextField:TLFTextField = new TLFTextField();
newsContent_mc.addChild(myTLFTextField); 
myTLFTextField.width = 590;
myTLFTextField.height = 440;
myTLFTextField.wordWrap=false;
myTLFTextField.text = galleryData.image[currentImage];

var myFormat:TextLayoutFormat = new TextLayoutFormat();
myFormat.direction=Direction.RTL;
myFormat.textAlign="right";
myFormat.color = 0x336633;
myFormat.fontFamily = "XB Zar";
myFormat.fontSize = 24;

var myTextFlow:TextFlow = myTLFTextField.textFlow;
myTextFlow.hostFormat = myFormat;
myTextFlow.flowComposer.updateAllControllers();
galleryData.image[currentImage] به عکس مورد نظر اشاره می کنه که currntImage با هربار اجرا شدن تایمر یکی اضافه میشه
این هم کد تایمر :
PHP:
var timer:Timer=new Timer(2000);
timer.start();
timer.addEventListener(TimerEvent.TIMER, onTimer);
function onTimer(evt:TimerEvent) {

    myTLFTextField.text = galleryData.image[currentImage];
    currentImage++;

}

اگه ممکنه شما یه مثال ساده تست کنید مثلا با استفاده از فلش یک tlftext بذارید و با اکشن اسکریپت مقدار اون رو تغییر بدید ببینید مشکل داره؟
 

JavidFlasher

کاربر فعال
من مشکلی ندیدم!!
تست کنین:
PHP:
import fl.text.*
import flashx.textLayout.formats.*
import flashx.textLayout.elements.TextFlow;

var galleryData:XML=<foo>
<image>a</image>
<image>b</image>
<image>c</image>
<image>d</image>
</foo>;

var currentImage:int
var myTLFTextField:TLFTextField = new TLFTextField();
newsContent_mc.addChild(myTLFTextField); 
myTLFTextField.width = 590;
myTLFTextField.height = 440;
myTLFTextField.wordWrap=false;
myTLFTextField.text = galleryData.image[currentImage];
var myFormat:TextLayoutFormat = new TextLayoutFormat();
myFormat.direction=Direction.RTL;
myFormat.textAlign="right";
myFormat.color = 0x336633;
myFormat.fontFamily = "XB Zar";
myFormat.fontSize = 24;
var myTextFlow:TextFlow = myTLFTextField.textFlow;
myTextFlow.hostFormat = myFormat;
myTextFlow.flowComposer.updateAllControllers();
var timer:Timer=new Timer(100);
timer.start();
timer.addEventListener(TimerEvent.TIMER, onTimer);
function onTimer(evt:TimerEvent) {

    myTLFTextField.text =galleryData.image[currentImage];
    currentImage++;

}
 

sabersoft

Active Member
من مشکلی ندیدم!!
تست کنین:
PHP:
import fl.text.*
import flashx.textLayout.formats.*
import flashx.textLayout.elements.TextFlow;

var galleryData:XML=<foo>
<image>a</image>
<image>b</image>
<image>c</image>
<image>d</image>
</foo>;

var currentImage:int
var myTLFTextField:TLFTextField = new TLFTextField();
newsContent_mc.addChild(myTLFTextField); 
myTLFTextField.width = 590;
myTLFTextField.height = 440;
myTLFTextField.wordWrap=false;
myTLFTextField.text = galleryData.image[currentImage];
var myFormat:TextLayoutFormat = new TextLayoutFormat();
myFormat.direction=Direction.RTL;
myFormat.textAlign="right";
myFormat.color = 0x336633;
myFormat.fontFamily = "XB Zar";
myFormat.fontSize = 24;
var myTextFlow:TextFlow = myTLFTextField.textFlow;
myTextFlow.hostFormat = myFormat;
myTextFlow.flowComposer.updateAllControllers();
var timer:Timer=new Timer(100);
timer.start();
timer.addEventListener(TimerEvent.TIMER, onTimer);
function onTimer(evt:TimerEvent) {

    myTLFTextField.text =galleryData.image[currentImage];
    currentImage++;

}

آقا ممنون
ولی هرکاری کردم درست نشد از htmlText استفاده کردم حل شد
 

benyamin_pc

Well-Known Member
منم با تکست باکس تو as3 برام چندبار مشکلای عجیبه شبیه این پیش اومده بود که تقریبا مطمئنم ی بار میشدو ی بار نمیشد
 

جدیدترین ارسال ها

بالا