as3 text-wrap проблемы, Firefox, Mac - PullRequest
1 голос
/ 03 октября 2011

Итак, я создал небольшой сайт для клиента, у которого, похоже, нет проблем для меня.Я публикую его, и мой клиент сообщает мне, что часть текста обрезается в текстовых полях.Я пытаюсь воссоздать проблему на моем компьютере с помощью Chrome и Firefox, но все работает нормально.Но он посылает мне скриншоты со своего Mac с Firefox, и, конечно же, они обрезаются.Он утверждает, что это единственный огненный лис, и это не является фактором размера окна.так вот изображения, чтобы показать, что происходит:

text-wrap problem example

Далее наиболее правильные слова должны быть "Алабама" и "растущие"

, и вот кодкоторый производит этот текст (descTextNew является виновником здесь):

        nameText.text = names[elementNumber];
        nameText.autoSize = "center";
        nameText.x = object.x + (.5 * videoWidth) - (.5 * nameText.width);
        nameText.y = object.y + videoHeight + 8;
        nameText.background = true;
        nameText.backgroundColor = 0x000000;
        textStyling.color = 0xFFFFFF;
        textStyling.size = 20;
        textStyling.font = myFont.fontName;
        textStyling.letterSpacing = 3;
        textStyling.align = "center";
        nameText.embedFonts = true;
        nameText.setTextFormat(textStyling);
        container.addChild(nameText);

        descTextNew.text = descArrayContent[elementNumber];
        descTextNew.y = object.y + videoHeight + nameText.textHeight + margin - 15;
        descTextNew.width = nameText.textWidth + 30;
        descTextNew.x = object.x + ( (videoWidth - descTextNew.width) / 2 );
        descTextNew.wordWrap = true;
        descTextNew.autoSize = "left";
        descTextNew.background = true;
        descTextNew.backgroundColor = 0x000000;
        descTextStyling.color = 0xFFFFFF;
        descTextStyling.size = Math.round(11 * 1000/stage.stageWidth);
        descTextStyling.font = myFont.fontName;
        descTextStyling.letterSpacing = .5;
        descTextStyling.align = "left";
        descTextNew.setTextFormat(descTextStyling);
        container.addChild(descTextNew);

Некоторые из этих переменных ранее объявлялись как переменные экземпляра следующим образом:

    var names:Array = new Array();
    var nameText:TextField = new TextField();
    var textStyling:TextFormat = new TextFormat();
    var descTextNew:TextField = new TextField();
    var descTextStyling:TextFormat = new TextFormat();
    var margin:int = 28;
    var videoWidth:int = 267;
    var videoHeight:int = 150;

массивы names иdescArrayContent есть строки "Пол Роллинс старший"и "Пол Роллинс устраивает похороны ...", добавленный к ним с индексом, определяемым переменной elementNumber.Также object - изображение, которое вы видите на картинке.не думайте, что необходимо показывать вам этот код.

Вот ссылка, если вы хотите увидеть ее в действии:

www.footsoldiers.org / test2 /

Есть идеи, что, черт возьми, происходит?Я не знаю с чего начать.

Ответы [ 2 ]

1 голос
/ 04 октября 2011

Вы пытались сделать недействительным элемент управления для перерисовки вручную?

this.invalidateDisplayList();
this.invalidateLayering();
this.invalidateLayoutDirection();
this.invalidateProperties();
this.invalidateSize();
0 голосов
/ 04 октября 2011

Я бы попытался установить свойство .text после того, как вы установили все остальные свойства. Поэтому попробуйте поместить действие descTextNew.text = descArrayContent [elementNumber] в последнюю строку.

Если это все еще не решит вашу проблему, я бы рекомендовал также включить свойство descTextNew.multiline = true .

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...