Thunderbo1t Posted April 21, 2013 Author Share Posted April 21, 2013 Кстати, использование этого(или любого другого) шрифта возможно поможет увидеть искажения, потому что на таких шрифтах сразу видно искажается он или нет, и довольно просто сравнить с эталоном, если что. То есть мы знаем, что символ "0"(конкретно в этом шрифте) - всегда 5х8 пикселей при размере "8" - вот от этого и стоит плясать, ИМХО, естественно.Попробуй вот эту версию - интересует твое мнение о рендеринге шрифтов. Да, оформление поехавшее и в списках видно только по 14 игроков. Но как проверка функционала сгодится. Я с твоим конфигом глянул - вроде ок, но хз как оно смотрится на TFT-мониках - у меня-то ЭЛТ, а там несмотря на практически идеальный фокус картинка всеравно подвергается аппаратному ClearType :) battleloading-prealphafix.rar 3 @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 21, 2013 Share Posted April 21, 2013 (edited) Попробуй вот эту версию - интересует твое мнение о рендеринге шрифтов. Да, оформление поехавшее и в списках видно только по 14 игроков. Но как проверка функционала сгодится. Я с твоим конфигом глянул - вроде ок, но хз как оно смотрится на TFT-мониках - у меня-то ЭЛТ, а там несмотря на практически идеальный фокус картинка всеравно подвергается аппаратному ClearType :) Так, сейчас гляну. Если что - я буду онлайн еще минимум 8-9 часов, могу все это время проверять. Шрифт отрисовался кажется нормально, надо еще сделать скрин чем-то сторонним, тогда точно скажу. А еще кажется иконки нормализовались, но не все а как-то частично. Да, то что строки поехали - это фигня, я так понимаю. Edited April 21, 2013 by mooseyaka @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 21, 2013 Author Share Posted April 21, 2013 Да, то что строки поехали - это фигня, я так понимаю.Это не фигня, но это временно - экспериментирую с методами решения проблемы, после выбора подходящего останется только немного подстроить некоторые вещи (позицию и размер). 2 @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 21, 2013 Share Posted April 21, 2013 (edited) Сделал скрин, посмотрел. В общем, единственное нарекание - такое ощущение, как будто накладывается два текста, основной - и под ним тенью второй, на пиксель левее. В остальном - стало много лучше, да. И с иконками непонятка - какие-то рисуются нормально, а какие-то совсем размазываются, до ужаса прям. Могу показать, если что. Вот еще что увидел(200% скрин, если что): В правой части обоих текстовых полей - вроде как нормально, то есть сдвиг начинается в середке. По разному обработались иконки обеих команд - это видно, в общем. ТБ, если вдруг тебе будет удобно - можно в скайп переместиться, ник такой-же. Edited April 21, 2013 by mooseyaka @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 22, 2013 Author Share Posted April 22, 2013 (edited) В процессе выяснения что же не так с ресайзом иконок наткнулся на различие оформления поля названия танка в процессе инита: 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 April 22, 2013 by Thunderbo1t 3 @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 22, 2013 Share Posted April 22, 2013 гуд, ждем! @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 22, 2013 Author Share Posted April 22, 2013 (edited) После долгой возни с тем чтобы в батллоадинг иконки и тексты никуда не ехали вроде получилось нечто годное. Список изменений с релиза 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: Первый фикс, только ширина настраиваемого поля техники/статы: Финальный фикс оформления: Сравнить наглядно? >>ЖМИ<< По итогам тестов батллоадинга появилась мысль что правильнее всего будет или применять одинаковую обработку (ресайз/центровка/автосайз) к никам и танкам/стате вместе или выкинуть нафиг из обработки статы это всё, а положение по высоте ника и статы захардкодить в одинаковые числа по Y и высоте. Иначе базовая линия плыть может, особенно при применении разных шрифтов. Edited April 22, 2013 by Thunderbo1t 12 @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 22, 2013 Share Posted April 22, 2013 (edited) Получилось очень круто. Как уже сказал ТБ - надо как-то решать автоцентровку, потому что например на его скринах - все ровно, с моим шрифтом - статистика на правой стороне(у противника) - уезжает вверх на 1 пиксель. Не сказать что прям беда - но тем не менее, если это можно поправить - будет очень круто. Скрины для понимания: Статистика слева: Статистика справа: Edited April 22, 2013 by mooseyaka @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 22, 2013 Share Posted April 22, 2013 После долгой возни с тем чтобы в батллоадинг иконки и тексты никуда не ехали вроде получилось нечто годное. Список изменений с релиза 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 полный от него: battleloading.rar Немного скринов для сравнения с одним и темже конфигом и реплеем: Чистый XVM 3.5.0: Orig.png Первый фикс, только ширина настраиваемого поля техники/статы: QuickTextFix.png Финальный фикс оформления: FullFix.png Сравнить наглядно? >>ЖМИ<< По итогам тестов батллоадинга появилась мысль что правильнее всего будет или применять одинаковую обработку (ресайз/центровка/автосайз) к никам и танкам/стате вместе или выкинуть нафиг из обработки статы это всё, а положение по высоте ника и статы захардкодить в одинаковые числа по Y и высоте. Иначе базовая линия плыть может, особенно при применении разных шрифтов. Офигенно! Респект и уважуха за такой титанический труд. Завтра перенесу все в основную ветку. Даже не верится, что через год после того как КВГ сломали экран загрузки все снова будет четко и без искажений. Еще бы понять почему маркеры над танками искажаются. Раньше тоже было все нормально, но КВГ сломали после одного из патчей. @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 22, 2013 Share Posted April 22, 2013 Офигенно! Респект и уважуха за такой титанический труд. Завтра перенесу все в основную ветку. Даже не верится, что через год после того как КВГ сломали экран загрузки все снова будет четко и без искажений. Еще бы понять почему маркеры над танками искажаются. Раньше тоже было все нормально, но КВГ сломали после одного из патчей. Макс, погоди пока, ТБ не оставляет попыток выровнять базовую линию шрифта. Но он поломал, да, молодец, просто слов нету! @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 22, 2013 Author Share Posted April 22, 2013 (edited) Офигенно! Респект и уважуха за такой титанический труд. Завтра перенесу все в основную ветку. Даже не верится, что через год после того как КВГ сломали экран загрузки все снова будет четко и без искажений. Еще бы понять почему маркеры над танками искажаются. Раньше тоже было все нормально, но КВГ сломали после одного из патчей. Напоследок поправил vehicleField.TransX в Sprite15 и Sprite19 (с учетом того что в коде XVM +5 и -113 - чтобы в итоге остались границы на целочисленных пикселах. И теперь уж точно с этим всё. По проблеме mooseyaka - перепробовал вроде всё, идей не осталось. Но зато TTF шрифты отрисовываются как надо. А с маркерами-то что не так ? Желательно со скринами наглядно где что-то пережато или как было и как щас плохо. sirmax, ты не мог бы добавить в этот файлик отрисовку BoundingBox от vehicleField по обеим панелям и выложить как отладочную флешку ? Интересно всеж что ж за хрень там такая неведомая сидит. Edited April 22, 2013 by Thunderbo1t 6 @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 22, 2013 Share Posted April 22, 2013 Посыпая голову пеплом нашел косяк в конфиге, из-за которого казалось, что хромает отрисовка в полях. Это был лишний пробел за пределами первого и последнего тегов <font>, который тем самым выравнивал шрифт по базовой линии дефолтного шрифта, на уровне ника. При чем пробел этот был только в одном, левом поле, в самом конце. Из-за этого дурного и исключительно моего косяка, из-за моей глупости и упертости, я потратил кучу времени человека который решил общую проблему. ТБ, извини, мне очень неловко и неудобно, что так получилось. @ Quote Link to comment Short link Share on other sites More sharing options...
Mr A Posted April 23, 2013 Share Posted April 23, 2013 выравнивал шрифт по базовой линии дефолтного шрифта, на уровне ника Значит, фича, с помощью которой можно поставить буквы на место? Ведь четкость норм. @ Quote Link to comment Short link Share on other sites More sharing options...
demon2597 Posted April 23, 2013 Share Posted April 23, 2013 Финальный фикс оформления ох...тельно!!! давно бесит этот корявый экран загрузки.@Thunderbo1t молодчина! @ Quote Link to comment Short link Share on other sites More sharing options...
mooseyaka Posted April 23, 2013 Share Posted April 23, 2013 Значит, фича, с помощью которой можно поставить буквы на место? Ведь четкость норм. Это фича, если необходимо использовать шрифт, который по умолчанию меньше дефолтного шрифта. Ну, в общем да, я так себе и сделал, с моими пиксельными. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 23, 2013 Share Posted April 23, 2013 ох...тельно!!! давно бесит этот корявый экран загрузки.@Thunderbo1t молодчина! Заплюсуйте его по самые помидоры. :) 1 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 23, 2013 Share Posted April 23, 2013 sirmax, ты не мог бы добавить в этот файлик отрисовку BoundingBox от vehicleField по обеим панелям и выложить как отладочную флешку ? Интересно всеж что ж за хрень там такая неведомая сидит. По идее ты можешь сам сделать в чем-то вроде SWiX/swfmill/... Они атрибуты вроде умеют менять. Если нет, дерни меня позже, после очередной тестовой версии. После долгой возни с тем чтобы в батллоадинг иконки и тексты никуда не ехали вроде получилось нечто годное. Вставил в основное дерево исходников. Вроде работает. @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 24, 2013 Author Share Posted April 24, 2013 По идее ты можешь сам сделать в чем-то вроде 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 уменьшенного размера и подобные ей. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted April 24, 2013 Share Posted April 24, 2013 А давай я тебя просто в коммитеры добавлю? Нам такие люди нужны. :) this.vehicleField.condenseWhite = true; это трогать не нужно, это для того, чтобы без xvm-stat все ровно было @ Quote Link to comment Short link Share on other sites More sharing options...
Thunderbo1t Posted April 24, 2013 Author Share Posted April 24, 2013 А давай я тебя просто в коммитеры добавлю? Нам такие люди нужны. :)Если ты готов на небольшое обучение меня пользованию svn-ом в чате скайпа - я только за. Мой скайп щас в личку кину. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.