При создании фрейма и помещении в него текста, он выравнивается от центра. Строки разной длинны получаются криво
Как ровнять текст в фреймах по левому краю?
Пробовал применить в text.fdf, но не помогло.
FontJustificationH JUSTIFYLEFT,
FontJustificationV JUSTIFYLEFT

Принятый ответ

Borodach, понял. я не знаю. Просто без fdf-кода не понять.

Еще раз прочитал шаблон, и вот кажется я понял в чем может быть причина. Дома протестирую.
так фрейм копирует параметры шаблона. Если в шаблоне указано выравнивание в середине, в самом фрейме можно указать выравнивание по левому краю, т.е. данные на горизонталь должна переписаться. Хотя автор хайва пишет, что мб растяжение текста. Т.е. нет никакой перезаписи.
Если тексту присвоена только точка, это будет однострочный текст. В таком случае тип используемой точки может определять направление, в котором будет расширяться текст, с большим количеством текстовых символов. С TOP, CENTER и BOTTOM текст будет расширяться одинаково с обеих сторон, данная точка является центром. <|> С TOPLEFT, LEFT и BOTTOMLEFT текст будет расширяться вправо. |> С RIGHT, TOPRIGHT и RIGHT текст будет расширяться влево. <| Это может быть важно, когда текстовый фрейм находится рядом с границей 4: 3, когда текст расширяется до области 16: 9, часть текста текстового фрейма не отображается.
Я сам расширение это не тестил, просто перевел с гуглом. Надо чекнуть. Просто не очень понимаю о чем толкует автор. Поэтому без правок на перевод.
Больше похоже на SetPoint, а не выравнивание. Был момент когда фрейм можно растянуть, пример изображение можно растянуть. Но с текстом, не пробовал. Поэтому нужно чистить точки фрейма.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
27
3 года назад
Отредактирован MpW
0
FontJustificationH - выравнивание по горизонтали
FontJustificationV - выравнивание по вертикали, к ней вроде не применимо JUSTIFYLEFT
Выравнивание по горизонтали (horizontal). Когда текстовому фрейму задан прямоугольник, он будет располагать отображаемый текст по оси X в этом TextJustify:
JUSTIFYRIGHT - правее
JUSTIFYLEFT - левее
JUSTIFYCENTER - посередине
Если тексту присвоена точка TextJustify, то задание еще одной будет определять как текст расширяться, выравниваться. Пример лево и право - у вас будет расширяться в обе стороны.
Выравнивание по вертикали (vertical). Когда текстовому фрейму задан прямоугольник, он будет располагать отображаемый текст по оси Y в этом TextJustify. :
JUSTIFYTOP - сверху
JUSTIFYMIDDLE - посередине
JUSTIFYBOTTOM - снизу
Format: FontJustificationOffset x y,
Отображает текст со смещением относительно положения его фреймов.
ссылка ,<= тут мб для рефорджа, но fdf-функции остаются теми же

надо смотреть в шаблоны в качестве примера для создания нестандартных fdf. И надо смотреть как вы создаете, как связываете. вот это выравнивание внутри родителя создается, у которого должны быть размеры Height Width
0
13
3 года назад
0
МрачныйВорон, О функционале не знаком, тому применил LEFT к FontJustificationV , считая что у них одинаковые константы.
Когда создаю текст внутри фрейма, он создается всередине и ростягивается влево-право, а вот если перевести строчку с помощью "|n", тогда выравняетя по верхней строчке. Я хотел узнать, можно та слелать чтоб он созавался слева и растягивался вправо.
А то что в рефрдже схожий, если не такой же функционал, не знал, спасибо.
0
27
3 года назад
Отредактирован MpW
0
Borodach, когда я рылся в xgm по fdf. То на удивлении находил страницы 2006 г. И многое из них понимал что-то знакомое.
Тут надо сам код посмотреть. Я пока не знаю, что у вас не работает. Это все равно пальцем в небо тыкать, и угадывать почему не работает. Мб дело в этой функции SetPoint? она привязывает текст к родителю. И из-за этого тоже может растягиваться. У меня в ссылке написано про позиционирование, хоть пример для рефорджевских функции, но для fdf тоже применимо, только называются по-другому.
пример
код шаблона
Frame "TEXT" "MyTextTemplate" { //Шаблон текста
    DecorateFileNames,
    FrameFont "EscMenuTextFont", 0.011, "",
    FontJustificationH JUSTIFYLEFT,
    FontJustificationV JUSTIFYMIDDLE,    
    FontFlags "FIXEDSIZE",
    FontColor 0.99 0.827 0.0705 1.0,
    FontHighlightColor 1.0 1.0 1.0 1.0,
    FontDisabledColor 0.2 0.2 0.2 1.0,
    FontShadowColor 0.0 0.0 0.0 0.9,    
    FontShadowOffset 0.002 -0.002,    
}

//MyBackdrop - родитель, MyText - потомок
Frame "BACKDROP" "MyBackdrop" {
    DecorateFileNames,
    BackdropTileBackground,
    BackdropBackground  "QuestDialogNormalBackground",
    BackdropCornerFlags "UL|UR|BL|BR|T|L|B|R",
    BackdropCornerSize          0.0125,
    BackdropBackgroundSize      0.128,
    BackdropBackgroundInsets    0.005 0.005 0.005 0.005,
    BackdropEdgeFile  "QuestDialogNormalBorder",

    //Создаем текст MyText с помощью шаблона MyTextTemplate
   Frame "TEXT" "MyText" INHERITS "MyTextTemplate" {
    SetPoint LEFT,  "MyBackdrop", LEFT, 0.01, 0.0,
        FontJustificationH JUSTIFYLEFT,
       Text "Привет мир",
   }
}
код вызова в триггерах
set fh1 = BlzCreateFrame("MyBackdrop", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),0, 0)
call BlzFrameSetSize(fh1, 0.1, 0.1)
call BlzFrameSetAbsPoint(fh1, FRAMEPOINT_CENTER, 0.4, 0.3)
Загруженные файлы
0
13
3 года назад
Отредактирован Borodach
0
МрачныйВорон, Вероятно SetPoint, либо создание отдельных фреймов
Я создаю фрейм, прописиваю ему текст, а с низу еще один такой фрейм с текстом.
Вот что получается:
....... Стрелок Смотрящая в ночь
А хотелось:
Стрелок Смотрящая в ночь

Еще раз прочитал шаблон, и вот кажется я понял в чем может быть причина. Дома протестирую.
1
27
3 года назад
Отредактирован MpW
1
Borodach, понял. я не знаю. Просто без fdf-кода не понять.

Еще раз прочитал шаблон, и вот кажется я понял в чем может быть причина. Дома протестирую.
так фрейм копирует параметры шаблона. Если в шаблоне указано выравнивание в середине, в самом фрейме можно указать выравнивание по левому краю, т.е. данные на горизонталь должна переписаться. Хотя автор хайва пишет, что мб растяжение текста. Т.е. нет никакой перезаписи.
Если тексту присвоена только точка, это будет однострочный текст. В таком случае тип используемой точки может определять направление, в котором будет расширяться текст, с большим количеством текстовых символов. С TOP, CENTER и BOTTOM текст будет расширяться одинаково с обеих сторон, данная точка является центром. <|> С TOPLEFT, LEFT и BOTTOMLEFT текст будет расширяться вправо. |> С RIGHT, TOPRIGHT и RIGHT текст будет расширяться влево. <| Это может быть важно, когда текстовый фрейм находится рядом с границей 4: 3, когда текст расширяется до области 16: 9, часть текста текстового фрейма не отображается.
Я сам расширение это не тестил, просто перевел с гуглом. Надо чекнуть. Просто не очень понимаю о чем толкует автор. Поэтому без правок на перевод.
Больше похоже на SetPoint, а не выравнивание. Был момент когда фрейм можно растянуть, пример изображение можно растянуть. Но с текстом, не пробовал. Поэтому нужно чистить точки фрейма.
Принятый ответ
0
13
3 года назад
0
МрачныйВорон, Это и описивает то что я ищу, расширение текста относительно точки. Если там много информации по фреймам, кинь ссылку.
0
27
3 года назад
Отредактирован MpW
0
Чтобы оставить комментарий, пожалуйста, войдите на сайт.