بدست آوردن ارتفاع متن هنگام استفاده از fs

mohan21

Member
با سلام

من از کد زیر برای متن استفاده میکنم ...

و مخیوام ارتفاع متن رو بدست بیاورم، از اونجایی که متن ثابت نیست و بصورت داینامیک هست، ارتفاع ثابتی نداره،

PHP:
    var PageName:String = this._parent.PageName;
    var FileAddress:String;
    FileAddress = "pages/" + PageName;

    Ins_Text.autoSize = true;
    Ins_Text.multiline = true;
    Ins_Text.wordWrap = true;

    import farsi.FarsiStyle;

    var FontIns_Text:TextFormat = new TextFormat ();
    FontIns_Text.leading = 5;
    FontIns_Text.color = 0xffffff;
    FontIns_Text.size = 14.5;

    var myFSXml = new FarsiStyle ();

    Ins_Text.embedFonts = true;
    FontIns_Text.font = "Font";
    Ins_Text.setNewTextFormat (FontIns_Text);


/*****************************************/
/*****************************************/

    // Load XML
    var mainTextFile:XML = new XML ();
    mainTextFile.ignoreWhite = true;
    mainTextFile.onLoad = buildTextFile;
    mainTextFile.load (FileAddress + ".xml");

    function buildTextFile (success:Boolean):Void
    {
        if (success)
        {
            var allTextFile:XMLNode = mainTextFile.firstChild;

            var GetText:String;
            GetText = "";

            GetText += allTextFile.childNodes[0].childNodes[1].firstChild.nodeValue;
        }
        else
        {
            GetText = "مشکلی در بارگزاری متن پیش آمده.";
        }

        myFSXml.setText (Ins_Text, GetText, 1);
        myFSXml.onComplete = function (ConvertedText:String)
        {
            Ins_Text.text = ConvertedText;
        };
        
        Ins_Text.text = myFSXml.resize (Ins_Text);
        this._height = Ins_Text._height;
        
        trace(Ins_Text._height);
    }

وقتی trace میکنم ارتفاع اولیه رو میده، چطور ارتفاع واقعی رو بدست بیاورم ؟؟
 

JavidFlasher

کاربر فعال
ببينين زماني ميتونين اون اندازه روtraceکنين که عمليات لود کامل شده باشه يعني واسه لودرتون يه Event.compeletبزارين
 

UnknownUser

Well-Known Member
شما برای convert متن از
PHP:
 myFSXml.setText (Ins_Text, GetText, 1);
        myFSXml.onComplete = function (ConvertedText:String)
        {
            Ins_Text.text = ConvertedText;
        };
        
        Ins_Text.text = myFSXml.resize (Ins_Text);


استفاده کردین . بهتر هست که از متد convert استفاده کنین و دیگه به call back و resize احتیاج ندارین

برای به دست آوردن ارتفاع متن بعد از convert شدن متن TextField autoSize رو right یا left بگذارین و height رو از روی TextField به دست بیارین

موفق باشید
 

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

بالا