Jump to content
Korean Random

Экран загрузки: правки отображения


Recommended Posts

Кстати, использование этого(или любого другого) шрифта возможно поможет увидеть искажения, потому что на таких шрифтах сразу видно искажается он или нет, и довольно просто сравнить с эталоном, если что. То есть мы знаем, что  символ "0"(конкретно в этом шрифте) - всегда 5х8 пикселей при размере "8" - вот от этого и стоит плясать, ИМХО, естественно.

Попробуй вот эту версию - интересует твое мнение о рендеринге шрифтов.

Да, оформление поехавшее и в списках видно только по 14 игроков.

Но как проверка функционала сгодится.

 

Я с твоим конфигом глянул - вроде ок, но хз как оно смотрится на TFT-мониках - у меня-то ЭЛТ, а там несмотря на практически идеальный фокус картинка всеравно подвергается аппаратному ClearType :)

battleloading-prealphafix.rar

  • Upvote 3
Link to comment
Short link
Share on other sites

Попробуй вот эту версию - интересует твое мнение о рендеринге шрифтов.

Да, оформление поехавшее и в списках видно только по 14 игроков.

Но как проверка функционала сгодится.

 

Я с твоим конфигом глянул - вроде ок, но хз как оно смотрится на TFT-мониках - у меня-то ЭЛТ, а там несмотря на практически идеальный фокус картинка всеравно подвергается аппаратному ClearType :)

Так, сейчас гляну.

Если что - я буду онлайн еще минимум 8-9 часов, могу все это время проверять.

 

Шрифт отрисовался кажется нормально, надо еще сделать скрин чем-то сторонним, тогда точно скажу.

А еще кажется иконки нормализовались, но не все а как-то частично.

Да, то что строки поехали - это фигня, я так понимаю.

Edited by mooseyaka
Link to comment
Short link
Share on other sites

Да, то что строки поехали - это фигня, я так понимаю.

Это не фигня, но это временно - экспериментирую с методами решения проблемы, после выбора подходящего останется только немного подстроить некоторые вещи (позицию и размер).
  • Upvote 2
Link to comment
Short link
Share on other sites

Сделал скрин, посмотрел.

 

В общем, единственное нарекание - такое ощущение, как будто накладывается два текста, основной - и под ним тенью второй, на пиксель левее.

В остальном - стало много лучше, да.

test_tmp_1.png

И с иконками непонятка - какие-то рисуются нормально, а какие-то совсем размазываются, до ужаса прям.

Могу показать, если что.

Вот еще что увидел(200% скрин, если что):

0_9939d_81b958_orig.png

В правой части обоих текстовых полей - вроде как нормально, то есть сдвиг начинается в середке.

По разному обработались иконки обеих команд - это видно, в общем.

 

ТБ, если вдруг тебе будет удобно - можно в скайп переместиться,  ник такой-же.

Edited by mooseyaka
Link to comment
Short link
Share on other sites

В процессе выяснения что же не так с ресайзом иконок наткнулся на различие оформления поля названия танка в процессе инита:

 

BattleLoading:

global.wot.battleloading.BattleLoadingItemRenderer = function ()
    {
        super();
        wot.utils.Utils.TraceXvmModule("BattleLoadingItemRenderer");
        this.vehicleField.html = true;
        this.vehicleField.verticalAlign = "center";
        this.vehicleField.verticalAutoSize = true;
        this.vehicleField.condenseWhite = true;
    }

StatisticForm:

    _global.wot.StatisticForm.BattleStatItemRenderer = function ()
    {
        super();
        wot.utils.Utils.TraceXvmModule("BattleStatItemRenderer");
        if (wot.StatisticForm.BattleStatItemRenderer.winChances == null)
        {
            wot.StatisticForm.BattleStatItemRenderer.winChances = new wot.StatisticForm.WinChances();
        } } } // end if
        this.col3.html = true;
        this.col3._y = 0;                             // --- Отсутствует в ------
        this.col3._height = this._height;             // --- BattleLoading ------  
        this.col3.verticalAlign = "center";
        this.col3.verticalAutoSize = true;
        wot.utils.GlobalEventDispatcher.addEventListener("config_loaded", wot.utils.StatLoader.LoadLastStat);
        wot.utils.GlobalEventDispatcher.addEventListener("config_loaded", this, this.onConfigLoaded);
        wot.utils.GlobalEventDispatcher.addEventListener("stat_loaded", this, this.updateData);
        wot.utils.Config.LoadConfig("BattleStatItemRenderer.as");
    }
Edited by Thunderbo1t
  • Upvote 3
Link to comment
Short link
Share on other sites

После долгой возни с тем чтобы в батллоадинг иконки и тексты никуда не ехали вроде получилось нечто годное.

 

Список изменений с релиза 3.5.0 до того что вышло для SWFMill:

Shape4: 

удалил границу вообще, отсчет от 0 и только в + и ровно по границе, 421x25.

right="8420" bottom="500" , координаты в ShapeSetup.

-  strokeBounds, -  содержимое lineStyles (остался просто самозакрытый тег).

      <DefineShape5 objectID="4" nonScalingStrokes="0" scalingStrokes="1">
        <bounds>
          <Rectangle left="0" right="8420" top="0" bottom="500"/>
        </bounds>
        <!-- тут был удален ненужный кусок кода -->
        <styles>
          <StyleList>
            <fillStyles>
              <Solid>
                <color>
                  <Color red="255" green="255" blue="255" alpha="0"/>
                </color>
              </Solid>
            </fillStyles>
            <lineStyles/> <!-- -- тут был удален ненужный кусок кода -->
          </StyleList>
        </styles>
        <shapes>
          <Shape>
            <edges> <!-- v-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
              <ShapeSetup x="79" y="0" fillStyle1="1"/>
              <LineTo x="3902" y="0"/>
              <LineTo x="4439" y="0"/>
              <LineTo x="0" y="425"/>
              <LineTo x="0" y="75"/>
              <LineTo x="-4439" y="0"/>
              <LineTo x="-3902" y="0"/>
              <LineTo x="-79" y="0"/>
              <LineTo x="0" y="-75"/>
              <LineTo x="0" y="-425"/>
              <LineTo x="79" y="0"/>
              <ShapeSetup/>
            </edges> <!-- ^-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
          </Shape>
        </shapes>
      </DefineShape5>

Text10: bottom="380"

      <DefineEditText objectID="10" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="1" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="4220" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="201" green="201" blue="182" alpha="255"/>
        </color>
      </DefineEditText>

Text14: left="-40" right="1580" bottom="380"

      <DefineEditText objectID="14" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="0" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="1580" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="162" green="146" blue="126" alpha="255"/>
        </color>
      </DefineEditText>
 

 

Sprite15:

textField.transY="100" squad.transX="7600" squad.transY="20" iconLoader.scaleY="2.4" iconLoader.transX="1680"

vehicleField.scaleX="1" vehicleField.transX="1635" vehicleField.transY="80"

      <DefineSprite objectID="15" frames="1">
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject3 replace="0" depth="5" objectID="10" name="textField">
            <transform>
              <Transform transX="3300" transY="100"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="1.000000000000000" strength="1.000000000000000" innerShadow="0" knockout="0" passes="2">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
          <PlaceObject2 replace="0" depth="7" objectID="12" name="squad">
            <transform>
              <Transform scaleX="1" scaleY="1" transX="7600" transY="20"/>
            </transform>
          </PlaceObject2>
          <PlaceObject2 replace="0" depth="8" objectID="13" name="iconLoader" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="-8" scaleY="2.4" transX="1680" transY="20"/>
            </transform>
            <events>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
            </events>
          </PlaceObject2>
          <PlaceObject3 replace="0" depth="9" objectID="14" name="vehicleField">
            <transform>
              <Transform scaleX="1.000000000000000" scaleY="1.000000000000000" transX="1635" transY="80"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="0.000000000000000" strength="0.1992187500000000" innerShadow="0" knockout="0" passes="3">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
          <ShowFrame/>
          <End/>
        </tags>
      </DefineSprite>
 

 Shape16:

удалил границу вообще, отсчет от 0 и только в + и ровно по границе, 421x25.

right="8420" bottom="500" , координаты в ShapeSetup.

-  strokeBounds, -  содержимое lineStyles (остался просто самозакрытый тег).

      <DefineShape5 objectID="16" nonScalingStrokes="0" scalingStrokes="1">
        <bounds>
          <Rectangle left="0" right="8420" top="0" bottom="500"/>
        </bounds>
        <!-- тут был удален ненужный кусок кода -->
        <styles>
          <StyleList>
            <fillStyles>
              <Solid>
                <color>
                  <Color red="102" green="204" blue="0" alpha="0"/>
                </color>
              </Solid>
            </fillStyles>
            <lineStyles/> <!-- -- тут был удален ненужный кусок кода -->
          </StyleList>
        </styles>
        <shapes>
          <Shape>
            <edges> <!-- v-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
              <ShapeSetup x="59" y="0" fillStyle1="1"/>
              <LineTo x="3982" y="0"/>
              <LineTo x="4379" y="0"/>
              <LineTo x="0" y="29"/>
              <LineTo x="0" y="420"/>
              <LineTo x="0" y="51"/>
              <LineTo x="-4379" y="0"/>
              <LineTo x="-3982" y="0"/>
              <LineTo x="-59" y="0"/>
              <LineTo x="0" y="-51"/>
              <LineTo x="0" y="-420"/>
              <LineTo x="0" y="-29"/>
              <LineTo x="39" y="0"/>
              <ShapeSetup/>
            </edges> <!-- ^-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
          </Shape>
        </shapes>
      </DefineShape5>

Text17: bottom="380"

      <DefineEditText objectID="17" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="0" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="4220" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="201" green="201" blue="182" alpha="255"/>
        </color>
      </DefineEditText>

Text18: left="-40" right="1580" top="-40" bottom="380"

      <DefineEditText objectID="18" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="1" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="1580" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="162" green="146" blue="126" alpha="255"/>
        </color>
      </DefineEditText>

Sprite19:

voiceWave.transX="5940" self_bg.transX="20" textField.transY="100" squad.transY="20" iconLoader.scaleY="2.4"

iconLoader.transX="6740" vehicleField.scaleX="1" vehicleField.transX="5753" vehicleField.transY="80"

      <DefineSprite objectID="19" frames="1">
        <tags>
          <PlaceObject2 replace="0" depth="1" objectID="8" name="voiceWave" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="0.6199951171875000" scaleY="0.6250000000000000" transX="5940" transY="0"/>
            </transform>
            <events>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
            </events>
          </PlaceObject2>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject2 replace="0" depth="3" objectID="7" name="self_bg">
            <transform>
              <Transform scaleX="1.494659423828125" scaleY="1" transX="20" transY="40"/>
            </transform>
          </PlaceObject2>
          <PlaceObject3 replace="0" depth="5" objectID="17" name="textField">
            <transform>
              <Transform transX="920" transY="100"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="1.000000000000000" strength="1.000000000000000" innerShadow="0" knockout="0" passes="2">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject2 replace="0" depth="7" objectID="12" name="squad">
            <transform>
              <Transform transX="200" transY="20"/>
            </transform>
          </PlaceObject2>
          <PlaceObject2 replace="0" depth="8" objectID="13" name="iconLoader" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="8" scaleY="2.4" transX="6740" transY="20"/>
            </transform>
            <events>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
              </Event>
              <Event flags1="0" flags2="0"/>
            </events>
          </PlaceObject2>
          <PlaceObject3 replace="0" depth="9" objectID="18" name="vehicleField">
            <transform>
              <Transform scaleX="1.000000000000000" scaleY="1.000000000000000" transX="5753" transY="80"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="0.000000000000000" strength="0.1992187500000000" innerShadow="0" knockout="0" passes="3">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
          <ShowFrame/>
          <End/>
        </tags>
      </DefineSprite>
 

Sprite34:

team1List.scaleX="3.238461538461538" team1List.scaleY="3.1" team1List.transY="4680" team1List.Parameters.rowHeight=0

team2List.scaleX="3.238461538461538" team2List.scaleY="3.1" team2List.transY="4680" team2List.Parameters.rowHeight=0

      <DefineSprite objectID="34" frames="1">
        <tags>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject2 replace="0" depth="4" objectID="21" name="team1List" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="3.238461538461538" scaleY="3.1" transX="-8420" transY="4680"/>
            </transform>         
            <events>
              <Event flags1="0" flags2="4">
                <actions>
                  <Dictionary>
                    <strings>
                      <String value="disabled"/>
                      <String value="itemRenderer"/>
                      <String value="LeftItemRenderer"/>
                      <String value="margin"/>
                      <String value="paddingBottom"/>
                      <String value="paddingLeft"/>
                      <String value="paddingRight"/>
                      <String value="paddingTop"/>
                      <String value="inspectableRendererInstanceName"/>
                      <String value=""/>
                      <String value="rowHeight"/>
                      <String value="inspectableScrollBar"/>
                      <String value="thumbOffsetBottom"/>
                      <String value="thumbOffsetTop"/>
                      <String value="thumbSizeFactor"/>
                      <String value="visible"/>
                    </strings>
                  </Dictionary>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                  <PushData>
                    <items>
                      <StackDictionaryLookup index="10"/>
                      <StackInteger value="0"/>             <!-- правим 25 на 20 -->
                    </items>
                  </PushData>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                </actions>
              </Event>
              <Event flags1="0" flags2="0"/>
            </events>
          </PlaceObject2>
          <PlaceObject2 replace="0" depth="6" objectID="21" name="team2List" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="3.238461538461538" scaleY="3.1" transX="20" transY="4680"/>
            </transform>
            <events>
              <Event flags1="0" flags2="4">
                <actions>
                  <Dictionary>
                    <strings>
                      <String value="disabled"/>
                      <String value="itemRenderer"/>
                      <String value="RightItemRenderer"/>
                      <String value="margin"/>
                      <String value="paddingBottom"/>
                      <String value="paddingLeft"/>
                      <String value="paddingRight"/>
                      <String value="paddingTop"/>
                      <String value="inspectableRendererInstanceName"/>
                      <String value=""/>
                      <String value="rowHeight"/>
                      <String value="inspectableScrollBar"/>
                      <String value="thumbOffsetBottom"/>
                      <String value="thumbOffsetTop"/>
                      <String value="thumbSizeFactor"/>
                      <String value="visible"/>
                    </strings>
                  </Dictionary>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                  <PushData>
                    <items>
                      <StackDictionaryLookup index="10"/>
                      <StackInteger value="0"/>             <!-- правим 25 на 20 -->
                    </items>
                  </PushData>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                </actions>
              </Event>
              <Event flags1="0" flags2="0"/>
            </events>
          </PlaceObject2>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
        </tags>
      </DefineSprite>

 

Ну и сам SWF-файл и XML полный от него:

battleloading.rar

 

Немного скринов для сравнения с одним и темже конфигом и реплеем:

 

Чистый XVM 3.5.0:

post-7736-0-28654100-1366655605_thumb.png

 

Первый фикс, только ширина настраиваемого поля техники/статы:

post-7736-0-48419600-1366655616_thumb.png

 

Финальный фикс оформления:

post-7736-0-42920500-1366657664_thumb.png

 

Сравнить наглядно? >>ЖМИ<<

 

По итогам тестов батллоадинга появилась мысль что правильнее всего будет или применять одинаковую обработку (ресайз/центровка/автосайз) к никам и танкам/стате вместе или выкинуть нафиг из обработки статы это всё, а положение по высоте ника и статы захардкодить в одинаковые числа по Y и высоте. Иначе базовая линия плыть может, особенно при применении разных шрифтов.

Edited by Thunderbo1t
  • Upvote 12
Link to comment
Short link
Share on other sites

Получилось очень круто.

Как уже сказал ТБ - надо как-то решать автоцентровку, потому что например на его скринах - все ровно, с моим шрифтом - статистика на правой стороне(у противника) - уезжает вверх на 1 пиксель.

Не сказать что прям беда - но тем не менее, если это можно поправить  - будет очень круто.

Скрины для понимания:

 

Статистика слева:

0_994d3_b39fd089_orig.png

Статистика справа:

0_994d1_75e4ff5b_orig.png
Edited by mooseyaka
Link to comment
Short link
Share on other sites

 

После долгой возни с тем чтобы в батллоадинг иконки и тексты никуда не ехали вроде получилось нечто годное.

 

Список изменений с релиза 3.5.0 до того что вышло для SWFMill:

Shape4: 

удалил границу вообще, отсчет от 0 и только в + и ровно по границе, 421x25.

right="8420" bottom="500" , координаты в ShapeSetup.

-  strokeBounds, -  содержимое lineStyles (остался просто самозакрытый тег).

      <DefineShape5 objectID="4" nonScalingStrokes="0" scalingStrokes="1">
        <bounds>
          <Rectangle left="0" right="8420" top="0" bottom="500"/>
        </bounds>
        <!-- тут был удален ненужный кусок кода -->
        <styles>
          <StyleList>
            <fillStyles>
              <Solid>
                <color>
                  <Color red="255" green="255" blue="255" alpha="0"/>
                </color>
              </Solid>
            </fillStyles>
            <lineStyles/> <!-- -- тут был удален ненужный кусок кода -->
          </StyleList>
        </styles>
        <shapes>
          <Shape>
            <edges> <!-- v-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
              <ShapeSetup x="79" y="0" fillStyle1="1"/>
              <LineTo x="3902" y="0"/>
              <LineTo x="4439" y="0"/>
              <LineTo x="0" y="425"/>
              <LineTo x="0" y="75"/>
              <LineTo x="-4439" y="0"/>
              <LineTo x="-3902" y="0"/>
              <LineTo x="-79" y="0"/>
              <LineTo x="0" y="-75"/>
              <LineTo x="0" y="-425"/>
              <LineTo x="79" y="0"/>
              <ShapeSetup/>
            </edges> <!-- ^-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
          </Shape>
        </shapes>
      </DefineShape5>
Text10: bottom="380"
      <DefineEditText objectID="10" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="1" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="4220" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="201" green="201" blue="182" alpha="255"/>
        </color>
      </DefineEditText>
Text14: left="-40" right="1580" bottom="380"
      <DefineEditText objectID="14" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="0" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="1580" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="162" green="146" blue="126" alpha="255"/>
        </color>
      </DefineEditText>
 

 

Sprite15:

textField.transY="100" squad.transX="7600" squad.transY="20" iconLoader.scaleY="2.4" iconLoader.transX="1680"

vehicleField.scaleX="1" vehicleField.transX="1640" vehicleField.transY="80"

      <DefineSprite objectID="15" frames="1">
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject3 replace="0" depth="5" objectID="10" name="textField">
            <transform>
              <Transform transX="3300" transY="100"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="1.000000000000000" strength="1.000000000000000" innerShadow="0" knockout="0" passes="2">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
          <PlaceObject2 replace="0" depth="7" objectID="12" name="squad">
            <transform>
              <Transform scaleX="1" scaleY="1" transX="7600" transY="20"/>
            </transform>
          </PlaceObject2>
          <PlaceObject2 replace="0" depth="8" objectID="13" name="iconLoader" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="-8" scaleY="2.4" transX="1680" transY="20"/>
            </transform>
            <events>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
            </events>
          </PlaceObject2>
          <PlaceObject3 replace="0" depth="9" objectID="14" name="vehicleField">
            <transform>
              <Transform scaleX="1.000000000000000" scaleY="1.000000000000000" transX="1640" transY="80"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="0.000000000000000" strength="0.1992187500000000" innerShadow="0" knockout="0" passes="3">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
          <ShowFrame/>
          <End/>
        </tags>
      </DefineSprite>
 

 Shape16:

удалил границу вообще, отсчет от 0 и только в + и ровно по границе, 421x25.

right="8420" bottom="500" , координаты в ShapeSetup.

-  strokeBounds, -  содержимое lineStyles (остался просто самозакрытый тег).

      <DefineShape5 objectID="16" nonScalingStrokes="0" scalingStrokes="1">
        <bounds>
          <Rectangle left="0" right="8420" top="0" bottom="500"/>
        </bounds>
        <!-- тут был удален ненужный кусок кода -->
        <styles>
          <StyleList>
            <fillStyles>
              <Solid>
                <color>
                  <Color red="102" green="204" blue="0" alpha="0"/>
                </color>
              </Solid>
            </fillStyles>
            <lineStyles/> <!-- -- тут был удален ненужный кусок кода -->
          </StyleList>
        </styles>
        <shapes>
          <Shape>
            <edges> <!-- v-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
              <ShapeSetup x="59" y="0" fillStyle1="1"/>
              <LineTo x="3982" y="0"/>
              <LineTo x="4379" y="0"/>
              <LineTo x="0" y="29"/>
              <LineTo x="0" y="420"/>
              <LineTo x="0" y="51"/>
              <LineTo x="-4379" y="0"/>
              <LineTo x="-3982" y="0"/>
              <LineTo x="-59" y="0"/>
              <LineTo x="0" y="-51"/>
              <LineTo x="0" y="-420"/>
              <LineTo x="0" y="-29"/>
              <LineTo x="39" y="0"/>
              <ShapeSetup/>
            </edges> <!-- ^-- поправлены координаты, строк так много потому что в 4 строки хз почему не работало -->
          </Shape>
        </shapes>
      </DefineShape5>
Text17: bottom="380"
      <DefineEditText objectID="17" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="0" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="4220" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="201" green="201" blue="182" alpha="255"/>
        </color>
      </DefineEditText>
Text18: left="-40" right="1580" top="-40" bottom="380"
      <DefineEditText objectID="18" wordWrap="0" multiLine="0" password="0" readOnly="1" autoSize="0" hasLayout="1" notSelectable="1" hasBorder="0" isHTML="0" useOutlines="1" fontRef="9" fontHeight="260" align="1" leftMargin="0" rightMargin="0" indent="0" leading="40" variableName="">
        <size>
          <Rectangle left="-40" right="1580" top="-40" bottom="380"/>
        </size>
        <color>
          <Color red="162" green="146" blue="126" alpha="255"/>
        </color>
      </DefineEditText>
Sprite19:

voiceWave.transX="5940" self_bg.transX="20" textField.transY="100" squad.transY="20" iconLoader.scaleY="2.4"

iconLoader.transX="6740" vehicleField.scaleX="1" vehicleField.transX="5760" vehicleField.transY="80"

      <DefineSprite objectID="19" frames="1">
        <tags>
          <PlaceObject2 replace="0" depth="1" objectID="8" name="voiceWave" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="0.6199951171875000" scaleY="0.6250000000000000" transX="5940" transY="0"/>
            </transform>
            <events>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
            </events>
          </PlaceObject2>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject2 replace="0" depth="3" objectID="7" name="self_bg">
            <transform>
              <Transform scaleX="1.494659423828125" scaleY="1" transX="20" transY="40"/>
            </transform>
          </PlaceObject2>
          <PlaceObject3 replace="0" depth="5" objectID="17" name="textField">
            <transform>
              <Transform transX="920" transY="100"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="1.000000000000000" strength="1.000000000000000" innerShadow="0" knockout="0" passes="2">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject2 replace="0" depth="7" objectID="12" name="squad">
            <transform>
              <Transform transX="200" transY="20"/>
            </transform>
          </PlaceObject2>
          <PlaceObject2 replace="0" depth="8" objectID="13" name="iconLoader" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="8" scaleY="2.4" transX="6740" transY="20"/>
            </transform>
            <events>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
              </Event>
              <Event flags1="0" flags2="0"/>
            </events>
          </PlaceObject2>
          <PlaceObject3 replace="0" depth="9" objectID="18" name="vehicleField">
            <transform>
              <Transform scaleX="1.000000000000000" scaleY="1.000000000000000" transX="5760" transY="80"/>
            </transform>
            <filters>
              <DropShadow blurX="2.000000000000000" blurY="2.000000000000000" angle="1.570785522460938" distance="0.000000000000000" strength="0.1992187500000000" innerShadow="0" knockout="0" passes="3">
                <color>
                  <Color red="0" green="0" blue="0" alpha="255"/>
                </color>
              </DropShadow>
            </filters>
          </PlaceObject3>
          <ShowFrame/>
          <End/>
        </tags>
      </DefineSprite>
 

Sprite34:

team1List.scaleX="3.238461538461538" team1List.scaleY="3.1" team1List.transY="4680" team1List.Parameters.rowHeight=0

team2List.scaleX="3.238461538461538" team2List.scaleY="3.1" team2List.transY="4680" team2List.Parameters.rowHeight=0

      <DefineSprite objectID="34" frames="1">
        <tags>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
          <PlaceObject2 replace="0" depth="4" objectID="21" name="team1List" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="3.238461538461538" scaleY="3.1" transX="-8420" transY="4680"/>
            </transform>         
            <events>
              <Event flags1="0" flags2="4">
                <actions>
                  <Dictionary>
                    <strings>
                      <String value="disabled"/>
                      <String value="itemRenderer"/>
                      <String value="LeftItemRenderer"/>
                      <String value="margin"/>
                      <String value="paddingBottom"/>
                      <String value="paddingLeft"/>
                      <String value="paddingRight"/>
                      <String value="paddingTop"/>
                      <String value="inspectableRendererInstanceName"/>
                      <String value=""/>
                      <String value="rowHeight"/>
                      <String value="inspectableScrollBar"/>
                      <String value="thumbOffsetBottom"/>
                      <String value="thumbOffsetTop"/>
                      <String value="thumbSizeFactor"/>
                      <String value="visible"/>
                    </strings>
                  </Dictionary>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                  <PushData>
                    <items>
                      <StackDictionaryLookup index="10"/>
                      <StackInteger value="0"/>             <!-- правим 25 на 20 -->
                    </items>
                  </PushData>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                </actions>
              </Event>
              <Event flags1="0" flags2="0"/>
            </events>
          </PlaceObject2>
          <PlaceObject2 replace="0" depth="6" objectID="21" name="team2List" allflags1="0" allflags2="4">
            <transform>
              <Transform scaleX="3.238461538461538" scaleY="3.1" transX="20" transY="4680"/>
            </transform>
            <events>
              <Event flags1="0" flags2="4">
                <actions>
                  <Dictionary>
                    <strings>
                      <String value="disabled"/>
                      <String value="itemRenderer"/>
                      <String value="RightItemRenderer"/>
                      <String value="margin"/>
                      <String value="paddingBottom"/>
                      <String value="paddingLeft"/>
                      <String value="paddingRight"/>
                      <String value="paddingTop"/>
                      <String value="inspectableRendererInstanceName"/>
                      <String value=""/>
                      <String value="rowHeight"/>
                      <String value="inspectableScrollBar"/>
                      <String value="thumbOffsetBottom"/>
                      <String value="thumbOffsetTop"/>
                      <String value="thumbSizeFactor"/>
                      <String value="visible"/>
                    </strings>
                  </Dictionary>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                  <PushData>
                    <items>
                      <StackDictionaryLookup index="10"/>
                      <StackInteger value="0"/>             <!-- правим 25 на 20 -->
                    </items>
                  </PushData>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
                </actions>
              </Event>
              <Event flags1="0" flags2="0"/>
            </events>
          </PlaceObject2>
    <!--  ...
          ... тут много нужного кода, не выкидывайте его
          ...  -->
        </tags>
      </DefineSprite>

 

Ну и сам SWF-файл и XML полный от него:

attachicon.gifbattleloading.rar

 

Немного скринов для сравнения с одним и темже конфигом и реплеем:

 

Чистый XVM 3.5.0:

 

Первый фикс, только ширина настраиваемого поля техники/статы:

 

Финальный фикс оформления:

 

Сравнить наглядно? >>ЖМИ<<

 

По итогам тестов батллоадинга появилась мысль что правильнее всего будет или применять одинаковую обработку (ресайз/центровка/автосайз) к никам и танкам/стате вместе или выкинуть нафиг из обработки статы это всё, а положение по высоте ника и статы захардкодить в одинаковые числа по Y и высоте. Иначе базовая линия плыть может, особенно при применении разных шрифтов.

Офигенно! Респект и уважуха за такой титанический труд.

Завтра перенесу все в основную ветку. Даже не верится, что через год после того как КВГ сломали экран загрузки все снова будет четко и без искажений.

Еще бы понять почему маркеры над танками искажаются. Раньше тоже было все нормально, но КВГ сломали после одного из патчей.

Link to comment
Short link
Share on other sites

Офигенно! Респект и уважуха за такой титанический труд.

Завтра перенесу все в основную ветку. Даже не верится, что через год после того как КВГ сломали экран загрузки все снова будет четко и без искажений.

Еще бы понять почему маркеры над танками искажаются. Раньше тоже было все нормально, но КВГ сломали после одного из патчей.

 

Макс, погоди пока, ТБ не оставляет попыток выровнять базовую линию шрифта.

Но он поломал, да, молодец, просто слов нету!

Link to comment
Short link
Share on other sites

Офигенно! Респект и уважуха за такой титанический труд.

Завтра перенесу все в основную ветку. Даже не верится, что через год после того как КВГ сломали экран загрузки все снова будет четко и без искажений.

Еще бы понять почему маркеры над танками искажаются. Раньше тоже было все нормально, но КВГ сломали после одного из патчей.

Напоследок поправил vehicleField.TransX в Sprite15 и Sprite19 (с учетом того что в коде XVM +5 и -113 - чтобы в итоге остались границы на целочисленных пикселах. И теперь уж точно с этим всё.

По проблеме mooseyaka - перепробовал вроде всё, идей не осталось.

Но зато TTF шрифты отрисовываются как надо.

 

А с маркерами-то что не так ?

Желательно со скринами наглядно где что-то пережато или как было и как щас плохо.

 

sirmax, ты не мог бы добавить в этот файлик отрисовку BoundingBox от vehicleField по обеим панелям и выложить как отладочную флешку ? Интересно всеж что ж за хрень там такая неведомая сидит.

Edited by Thunderbo1t
  • Upvote 6
Link to comment
Short link
Share on other sites

Посыпая голову пеплом нашел косяк в конфиге, из-за которого казалось, что хромает отрисовка в полях.

Это был лишний пробел за пределами первого и последнего тегов <font>, который тем самым выравнивал шрифт по базовой линии дефолтного шрифта, на уровне ника.

При чем пробел этот был только в одном, левом поле, в самом конце.

 

Из-за этого дурного и исключительно моего косяка, из-за моей глупости и упертости, я потратил кучу времени человека который решил общую проблему.

ТБ, извини, мне очень неловко и неудобно, что так получилось.

Link to comment
Short link
Share on other sites

выравнивал шрифт по базовой линии дефолтного шрифта, на уровне ника

Значит, фича, с помощью которой можно поставить буквы на место? Ведь четкость норм.

Link to comment
Short link
Share on other sites

Значит, фича, с помощью которой можно поставить буквы на место? Ведь четкость норм.

Это фича, если необходимо использовать шрифт, который по умолчанию меньше дефолтного шрифта.

Ну, в общем да, я так себе и сделал, с моими пиксельными.

Link to comment
Short link
Share on other sites

sirmax, ты не мог бы добавить в этот файлик отрисовку BoundingBox от vehicleField по обеим панелям и выложить как отладочную флешку ? Интересно всеж что ж за хрень там такая неведомая сидит.

По идее ты можешь сам сделать в чем-то вроде SWiX/swfmill/... Они атрибуты вроде умеют менять.

Если нет, дерни меня позже, после очередной тестовой версии.

 

После долгой возни с тем чтобы в батллоадинг иконки и тексты никуда не ехали вроде получилось нечто годное.

Вставил в основное дерево исходников. Вроде работает.

Link to comment
Short link
Share on other sites

По идее ты можешь сам сделать в чем-то вроде SWiX/swfmill/... Они атрибуты вроде умеют менять.

Попробовал hasBorder="1" - вышла хрень какаято - белая заливка с размытыми краями. А больше ничего без правки AS2 я придумать не могу.

Впрочем проблема уже не так актуальна - mooseyaka выше писал что было проблемой на самом деле.

По релизу - ты бы мог в самом коде сменить

global.wot.battleloading.BattleLoadingItemRenderer = function ()
    {
        super();
        wot.utils.Utils.TraceXvmModule("BattleLoadingItemRenderer");
        this.vehicleField.html = true;
        this.vehicleField.verticalAlign = "center";
        this.vehicleField.verticalAutoSize = true;
        this.vehicleField.condenseWhite = true;
    }

на 

global.wot.battleloading.BattleLoadingItemRenderer = function ()
    {
        super();
        wot.utils.Utils.TraceXvmModule("BattleLoadingItemRenderer");
        this.vehicleField.html = true;
    }

и в коде XML SWFMill:

Sprite15.vehicleField.transY="100"

Sprite19.vehicleField.transY="100"

 

и тогда по идее все проблемы с выравниванием текста будут выглядеть понятно и легко решаемо через конфиг (по крайней мере baseline будет общее а смещение по высоте не настраивается да и нафиг оно не нужно, + textField AS2 вообще не трогает высоту и verticalAlign - так зачем это трогать для vehicleField ?). В том числе не будет воспроизводиться та проблема что была у mooseyaka из-за пробела вне тега font уменьшенного размера и подобные ей.

Link to comment
Short link
Share on other sites

А давай я тебя просто в коммитеры добавлю? Нам такие люди нужны. :)



this.vehicleField.condenseWhite = true;

это трогать не нужно, это для того, чтобы без xvm-stat все ровно было

Link to comment
Short link
Share on other sites

А давай я тебя просто в коммитеры добавлю? Нам такие люди нужны. :)

Если ты готов на небольшое обучение меня пользованию svn-ом в чате скайпа - я только за.

Мой скайп щас в личку кину.

Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...