Jump to content
Korean Random
seriych

Обсуждение способов вывода очков прочности на миникарте и в "ушах", статистики на миникарте и т.п...

Recommended Posts

Не получилось с клипом. Через loadMovie грузиться не хочет

 

я делал как-то так:

var imageLoader:MovieClipLoader = new MovieClipLoader();

for (var i=0; i< 102; i++) {
    imageLoader.loadClip(Defines.XVMRES_ROOT + "icons/hp/hp" + (i-1) + ".png",
            this.wrapper.createEmptyMovieClip("blah" + i, this.wrapper.getNextHighestDepth()));
    ......

а по производительности вряд ли будет быстрее чем TextField

думаю, всё же быстрее, ибо вывод TextField - это парсинг его контента и отрисовка средствами какой-никакой недо-html рендерилки (особенно если там img и всякая ересь типа сжимаемых табстопов и прочего), а MovieClip оно как-то нативнее для флеша.

 

скажу даже больше - все TextField-ы вполне могут рендериться каждый раз (потому что в макросе динамические значения и вообще хрен поймёшь этот TextField). а изменения пропертей клипа будет быстрее ибо к примеру mc._width = 100 ничего не будет делать, если ширина и так была 100

Edited by phantasm

Share this post


Link to post

Short link
Share on other sites

Понятно будем ждать.

 

На производительность повлияло в лучшую сторону использование background'а для отрисовки ХП (по сравнению с картинками).

Сейчас залита промежуточная версия, правые уши еще не работают, надо разбираться с выравниванием.

Вот как получается без картинок:

 

"extraFieldsLeft": [
      { "x": 22, "height": 22, "width": "{{hp-max:120}}", "backgroundColor": 0, "alpha": 40 },
      { "x": 22, "height": 22, "width": "{{hp:120}}", "backgroundColor": "0x13C313", "alpha": 50 },
      { "width": 3, "height": 22, "backgroundColor": "0x13C313", "alpha": "{{alive?80|0}}" },
      { "x": 5, "valign": "center", "format": "<font color='{{c:xwn8}}'>{{xwn8|--}}</font>", "shadow": {} },
      {}
    ],

 

я делал как-то так:

var imageLoader:MovieClipLoader = new MovieClipLoader();

for (var i=0; i< 102; i++) {
    imageLoader.loadClip(Defines.XVMRES_ROOT + "icons/hp/hp" + (i-1) + ".png",
            this.wrapper.createEmptyMovieClip("blah" + i, this.wrapper.getNextHighestDepth()));
    ......

У лоадера проблема в асинхронности - отображение будет в другом кадре. Это заметно усложняет обработку, и приводит к проблемам моргания при смене картинки.

 

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

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
У лоадера проблема в асинхронности - отображение будет в другом кадре. Это заметно усложняет обработку, и приводит к проблемам моргания при смене картинки.   Насчет производительности картинок в текстовых полях - это уже зависит от того, как ScaleForm реализован. Думаю. лучше сделать отдельный синтетический тест, чтобы понять, стоит ли заморачиваться с мувиклипами, или оставить текстом.

 

вообще странно. если работает loadClip, то и loadMoive должен... надо будет у себя попробовать. что касается синтетических тестов, то сам я их не осилю

Edited by phantasm

Share this post


Link to post

Short link
Share on other sites

Читаю я всё это...ничего не понимаю)))) Но ВЫ парни МОЛОДЦЫ!!!!!!)))))))

Share this post


Link to post

Short link
Share on other sites

Сейчас залита промежуточная версия, правые уши еще не работают, надо разбираться с выравниванием.

 

в none очень даже плохо работают,пытался переместить, так на скрине выглядят при х=-180 для всей правой панели

 

в остальных (кроме none)

{ "width": 3, "height": 22, "backgroundColor": "0xFFBB28", "alpha": "{{alive?80|0}}" }

небольшая полоска, которая должна находиться с краю, её нет 

 

и  поскорее бы позицию по У реализовать)

post-23395-0-51695000-1400686460_thumb.jpg

Edited by XSerzHX

Share this post


Link to post

Short link
Share on other sites

Так "y" должен работать. Что с ним не так?

 

 

{ "x": 23, "y": 1, "height": 26, "width": "{{hp-max:230}}", "backgroundColor": 0, "alpha": "{{alive?50|0}}" }, - сильно сместилась

{ "x": 23, "y": 1, "height": 26, "width": "{{hp:230}}", "backgroundColor": "0x029CF5", "alpha": 60 }, - сильно сместилась

{ "y": 1, "width": 4, "height": 26, "backgroundColor": "0x029CF5", "alpha": "{{alive?80|0}}" }, - не сместилась

post-23395-0-18161900-1400688749_thumb.jpg

Edited by XSerzHX

Share this post


Link to post

Short link
Share on other sites

Вроде выравнивание работает, можно пробовать что-то настраивать. :)


"y" тоже поправил, но можно и "valign" использовать для выравнивания по вертикали

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites

Вроде выравнивание работает, можно пробовать что-то настраивать. :)

"y" тоже поправил, но можно и "valign" использовать для выравнивания по вертикали

Как-то так:

post-13490-0-60058800-1400717276_thumb.jpg

      "extraFields": {      // Дополнительные текстовые поля.
        "leftPanel": {
          "x": 0, 
          "y": 65,
          "width": 250,
          "height": 25,
          "formats": [         // Набор форматов для левой панели  
            { "x": 22, "height": 24, "width": "{{hp-max:105}}", "backgroundColor": 0, "alpha": "{{alive?50|0}}"  },
            { "x": 22, "height": 24, "width": "{{hp:105}}", "backgroundColor": "0x13C313", "alpha": 60 },
            { "width": 3, "height": 24, "backgroundColor": "0x13C313", "alpha": "{{alive?80|0}}" },
            { "x": 7, "valign": "center", "format": "{{frags|0}}", "alpha": "{{alive?100|50}}"  },
            { "x": 25, "valign": "center", "format": "{{name%.14s~..}}", "alpha": "{{alive?100|50}}" },            
            { "x": 123, "valign": "center", "format": "{{hp\u00254.4s|----}}", "alpha": "{{alive?100|50}}"  },			
            { "x": 160, "format": "<img src='xvmres://icons/Alternative icons tanks/Ally/{{alive|dead}}/{{vehiclename}}.png' width='81' height='24'>" }                                
          ]          
        },
        "rightPanel": {
          "x": 0,
          "y": 65,
          "width": 200,
          "height": 25,
          "formats": [        // Набор форматов для правой панели
            { "x": -175, "height": 24, "width": "{{hp-max:105}}", "backgroundColor": 0, "alpha": "{{alive?50|0}}" },
            { "x": -175, "height": 24, "width": "{{hp:105}}", "backgroundColor": "0xD30C0C", "alpha": 60 },
            { "x": 195,  "width": 3, "height": 24, "backgroundColor": "0xD30C0C", "alpha": "{{alive?80|0}}" },
            { "x": -380, "valign": "center", "format": "{{frags|0}}", "alpha": "{{alive?100|50}}"  },
            { "x": -285, "valign": "center", "format": "{{name%.14s~..}}", "alpha": "{{alive?100|50}}"  },  
            { "x": -242, "valign": "center", "format": "{{hp\u00254.4s|----}}", "alpha": "{{alive?100|50}}"  },			
            { "x": -153, "format": "<img src='xvmres://icons/Alternative icons tanks/Enemy/{{alive|dead}}/{{vehiclename}}.png' width='81' height='24'>" }                                         

Вот только, ники игроков в правой панели по правому краю выровнять не удалось, "align": "right" не помогло...

Edited by Dakasik

Share this post


Link to post

Short link
Share on other sites
Вот как получается без картинок... "alpha": "{{alive?80|0}}"

Макс, мне не понятно, почему здесь запись такая, а в ChangeLog-ru такая "alpha": "{{alive?80:0}}"?

И попутно вопрос, с введением данного расширения макросов, как я понимаю отпадает необходимость применения конструкций с font size=0 в "классическом" виде?

То есть вместо этого <font size='19'><font size='0{{squad-num~sq}}'>бла-бла</font></font> можно теперь написать <font size='{{squad-num?19:0}}'>бла-бла</font>?

 

UPD Попробовал на хит-логе <font size='{{dead?19|0}}'>{{dead}}</font>- работает. А вот если макрос с двоеточием написать {{dead?19:0}}- не прокатывает. То есть правильно- с палкой (дефолтом), ну оно как бы и логичнее и понятнее. В ChangeLog тогда поправить наверное надо?

 

Отличная фича однако:)

Edited by demon2597

Share this post


Link to post

Short link
Share on other sites

Макс, мне не понятно, почему здесь запись такая, а в ChangeLog-ru такая "alpha": "{{alive?80:0}}"?

И попутно вопрос, с введением данного расширения макросов, как я понимаю отпадает необходимость применения конструкций с font size=0 в "классическом" виде?

То есть вместо этого <font size='19'><font size='0{{squad-num~sq}}'>бла-бла</font></font> можно теперь написать <font size='{{squad-num?19:0}}'>бла-бла</font>?

 

UPD Попробовал на хит-логе <font size='{{dead?19|0}}'>{{dead}}</font>- работает. А вот если макрос с двоеточием написать {{dead?19:0}}- не прокатывает. То есть правильно- с палкой (дефолтом), ну оно как бы и логичнее и понятнее. В ChangeLog тогда поправить наверное надо?

 

Отличная фича однако:)

В ChangeLog неправильно. Я сначала хотел сделать полноценный ternary expression, но решил, что раз дефолт есть, можно обойтись только одним операндом.

Да, size=0 не нужен.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Вот только, ники игроков в правой панели по правому краю выровнять не удалось, "align": "right" не помогло...

у меня по дефолту работает

 

sirmax, всё нормально работает, но в левой панели есть пустое пространство между строками и сплошной фон не сделаешь, а в правой панели всё норм 

post-23395-0-98849800-1400742920_thumb.jpg

Share this post


Link to post

Short link
Share on other sites

у меня по дефолту работает

 

sirmax, всё нормально работает, но в левой панели есть пустое пространство между строками и сплошной фон не сделаешь, а в правой панели всё норм 

 

Так в левой панели вид лучше )

Share this post


Link to post

Short link
Share on other sites

sirmax, всё нормально работает, но в левой панели есть пустое пространство между строками и сплошной фон не сделаешь, а в правой панели всё норм 

Прикрепи код.

Share this post


Link to post

Short link
Share on other sites
Так в левой панели вид лучше )

может и лучше, но всё равно баг 

Прикрепи код.

ок

 

"none": {

      "extraFields": {

        "leftPanel": {

          "x": -1,

          "y": 65,

          "width": 350,      

          "height": 32,

          "formats": [

            "<img src='xvm://configs/sirmax/img/panel-bg-l_wg1_{{alive|dead}}.png' width='350' height='32'>",

   { "x": 24, "y": 3, "h": 26, "w": "{{hp-max:230}}", "bgColor": 0, "alpha": "{{alive?50|0}}" },

   { "x": 24, "y": 3, "h": 26, "w": "{{hp:230}}", "bgColor": "0x029CF5", "alpha": 60 },

   { "x": 1, "w": 4, "y": 3, "h": 26, "bgColor": "0x029CF5", "alpha": "{{alive?80|0}}" },

   { "x": 9, "valign": "center", "format": "<font size='19'><b>{{frags|0}}</b></font>", "alpha": "{{alive?100|50}}", "shadow": {} },

   { "x": 31, "valign": "center", "format": "<font size='19'><b>{{name%.20s~..}}</b></font>", "alpha": "{{alive?100|50}}", "shadow": {} },

   { "x": 261, "valign": "center", "format": "<font size='19'><b>{{hp\u00254.4s|----}}</b></font>", "alpha": "{{alive?100|50}}", "shadow": {} }

          ]

        },

        "rightPanel": {

          "x": -354,

          "y": 65,

          "width": 350,

          "height": 32,

          "formats": [

            "<img src='xvm://configs/sirmax/img/panel-bg-r_wg1_{{alive|dead}}.png' width='350' height='32'>",

   { "x": 27, "y": 3, "h": 26, "w": "{{hp-max:230}}", "bgColor": 0, "alpha": "{{alive?50|0}}" },

   { "x": 27, "y": 3, "h": 26, "w": "{{hp:230}}", "bgColor": "0xFFBB28", "alpha": 60 },

   { "x": 4, "w": 4, "y": 3, "h": 26, "bgColor": "0xFFBB28", "alpha": "{{alive?80|0}}" },

   { "x": 12, "valign": "center", "format": "<font size='19'><b>{{frags|0}}</b></font>", "alpha": "{{alive?100|50}}", "shadow": {} },

   { "x": 34, "valign": "center", "format": "<font size='19'><b>{{name%.20s~..}}</b></font>", "alpha": "{{alive?100|50}}", "shadow": {} },

   { "x": 264, "valign": "center", "format": "<font size='19'><b>{{hp\u00254.4s|----}}</b></font>", "alpha": "{{alive?100|50}}", "shadow": {} }

          ]

        }

      }

    },

Прикрепи код.

заработало надо было тока изменить ширину с 320 до 350, тока странно вроде высота должна отвечать за это

Edited by XSerzHX

Share this post


Link to post

Short link
Share on other sites

"rightPanel": {

          "x": -354,

Так не должно быть, для правой панели отсчет должен быть с правого края, и в обратную сторону. Я переделаю.

заработало надо было тока изменить ширину с 320 до 350, тока странно вроде высота должна отвечать за это

Ширина картинки была больше поля, видимо как-то переносилось, или, скорей всего, обрезалось снизу. Может быть особенность рендера. Edited by sirmax

Share this post


Link to post

Short link
Share on other sites

 

 

Ширина картинки была больше поля, видимо как-то переносилось, или, скорей всего, обрезалось снизу. Может быть особенность рендера.
 

может быть)


кстати sirmax, а в уши можно будет сделать подключение иконок, как в обычных ушах, не через ссылки?
если это конечно возможно

Share this post


Link to post

Short link
Share on other sites

кстати sirmax, а в уши можно будет сделать подключение иконок, как в обычных ушах, не через ссылки?

если это конечно возможно

А чем через ссылки не устраивает?

Share this post


Link to post

Short link
Share on other sites

 

 

А чем через ссылки не устраивает?
 

через ссылки картинки немного сглаживаются, размываются, становятся неточными

Share this post


Link to post

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...