Jump to content
Korean Random
wotunion

Кастомизируемые текстовые поля в окне боевого интерфейса

Опрос  

20 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

ну все правильно - если есть хоткей, анимация будет по хоткею. если нет - по флагам. то есть не важно, флаги, хоткей или все вместе используется - когда надо поле отобразить, используется tweensIn, когда надо спрятать - tweensOut.

Share this post


Link to post

Short link
Share on other sites

@sirmax всё равно что-то не то. Попробую описать подробнее. Поле скрывается по нажатию клавиши ("visibleOnHotKey": false), то есть изначально оно должно быть видимым и ориентироваться на флаг (например "alive", "enemy", "spotted"). Без хоткея так и есть и всё работает исправно.

С хоткеем: в начале боя пусто. У tweensIn конечное значение "alpha": 1. Обнаруживается противник (статус "spotted") - пусто, далее противник пропадает (статус "lost") - надписи появляются и с этого момента именно эти поля отображаются, повторюсь - без нажатия клавиш.

Оставил tweensOut, убрал tweensIn - поля появились, но... "lost" появится и сразу исчезает, то же самое происходит с видимой техникой противника, которая уже была в засвете и пропала. В полях, где хоткей есть а флагов нет, там надписи не появляются вовсе, пока не нажмёшь. Хз, придётся мудрить, выбирать что-то одно.

Edited by HEKPOMAHT
Поле скрывается по нажатию клавиши ("visibleOnHotKey": false)

Share this post


Link to post

Short link
Share on other sites

Дай конфиг. Скорей всего это из-за того, что используешь fromTo. Лучше использовать "to" везде, где возможно, он меняет значение от текущего до необходимого.

Наверно, универсальное правило такое - для "tweens" использовать "fromTo", для "tweensIn"/"tweensOut" использовать "to". Тут надо понять логику tween'ов, на ней построена вся анимация. Это, конечно, уже из области программирования, но без этого никак.

Share this post


Link to post

Short link
Share on other sites

@sirmax от текущего до необходимого получается только в tweensOut: текущее 100% -> необходимое 0 "{ "alpha": 0 }"

для tweensIn нужно с 0 до 100 %. а так как текущее 100% и есть, я использую метод fromTo, по другому не получается. Причём то же самое и для tweens: появление от 0 до 1 (метод fromTo), время анимации, затухание (метод to) - для lastHit всё чётко (собственно это полностью удовлетворило мою первоначальную заявку, если что).

Вот код для конфига дефолт, миникарта:

    // Формат поля по умолчанию.
    "defaultItem": {
      "enabled": true,
      //"hotKeyCode": 56, "onHold": true, "visibleOnHotKey": false,
      "tweensIn": [
        [ "fromTo", 1.5, { "alpha": 0 }, { "alpha": 1 } ]
      ],
      "tweensOut": [
        [ "to", 1.5, { "alpha": 0 } ]
      ],
        ...

без хоткея работает. Раскомментируешь - проблему я описал. 

Share this post


Link to post

Short link
Share on other sites
1 час назад, HEKPOMAHT сказал:

а так как текущее 100% и есть

так сделай "alpha": 0 по умолчанию

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites
11 часов назад, sirmax сказал:

так сделай "alpha": 0 по умолчанию

убрал прозрачность всего поля. Хоткeй убрал, в методе "to" указал "alpha": 1 -  поведение тут описано. Ради интереса проверил с методом "fromTo" - поле появилось, но анимации нет в обоих твинах "tweensIn", "tweensOut". Ладно Макс, может это никому и не пригодится, а в процессе испытаний может что проясниться...

а может с доп. свойствами твинов поэкспериментировать можно.

Share this post


Link to post

Short link
Share on other sites
7 минут назад, HEKPOMAHT сказал:

убрал прозрачность всего поля. Хоткeй убрал, в методе "to" указал "alpha": 1 -  поведение тут описано.

> Поле скрывается по нажатию клавиши ("visibleOnHotKey": true), то есть изначально оно должно быть видимым

Подожди. Если оно должно скрываться по нажатию, тогда нужно "visibleOnHotKey": false.

 

 

А у тебя по "hotKeyCode": 56 случайно не переключается альтернативный режим? В нет создаются отдельные поля, соответственно, у них своя анимация, независимая.

Share this post


Link to post

Short link
Share on other sites

@sirmax это я с item шаблона скопировал ), вчера пытался все варианты пробовать, к ночи голова уже перетрудилась. 

в поле все правильно:

 "hotKeyCode": 56, "onHold": true, "visibleOnHotKey": false

своё сообщение подредактирую.

----

там же дальше описано, что поля у противников появляются :)

Share this post


Link to post

Short link
Share on other sites

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

 

вот, вообще отключил альтернативный режим:


  "hotkeys": {
    "minimapAltMode": { "enabled": false, "keyCode": 56, "onHold": true },

...

    "defaultItem": {
      "enabled": true,
      "hotKeyCode": 56, "onHold": false, "visibleOnHotKey": false,
      "alpha": 100,
      "tweensIn": [
        [ "to", 1.5, { "alpha": 1 } ]
      ],
      "tweensOut": [
        [ "to", 1.5, { "alpha": 0 } ]
      ],

 

по нажатию (не удержанию) alt получается так:

 

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

Во, нашёл вчерашнее описание, похожее поведение полей на как твоём видео:

17 часов назад, HEKPOMAHT сказал:

но... "lost" появится и сразу исчезает, то же самое происходит с видимой техникой противника, которая уже была в засвете и пропала.

 

Share this post


Link to post

Short link
Share on other sites
2 минуты назад, HEKPOMAHT сказал:

Во, нашёл вчерашнее описание, похожее поведение полей на как твоём видео:

 

Я все равно не понимаю. Все вроде прячется и появляется как надо. Нажал кнопку - все спряталось. Еще раз нажал - появилось. Если "onHold": true, то пока держишь, плавно пропадает, отпустишь - плавно появляется.

Попробуй на том куске конфига, что я выше выложил.

Share this post


Link to post

Short link
Share on other sites
4 минуты назад, sirmax сказал:

Я все равно не понимаю.

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

Share this post


Link to post

Short link
Share on other sites

Вот видео с "onHold": true

Можешь сказать, что с ним не так?

4 минуты назад, HEKPOMAHT сказал:

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

Если использовать "fromTo", то так и будет. При создании tween останавливается на первом кадре анимации.

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites

с протанками последние ночники пока не запускаются



2019-07-13 15:24:41.372: ERROR: [EXCEPTION] (scripts/common/Event.py, 46):
Traceback (most recent call last):
  File "scripts/common/Event.py", line 44, in __call__
  File "mod_pro_efficiency", line 1, in onBattleLoaded
TypeError: argument of type 'NoneType' is not iterable

2019-07-13 15:24:41.374: ERROR: [EXCEPTION] (scripts/common/Event.py, 46):
Traceback (most recent call last):
  File "scripts/common/Event.py", line 44, in __call__
  File "mod_pro_efficiency", line 1, in onGUISpaceEntered
  File "scripts/common/Event.py", line 44, in __call__
  File "mod_pro_efficiency", line 1, in onBattleLoaded
TypeError: argument of type 'NoneType' is not iterable

2019-07-13 15:24:41.374: ERROR: Traceback (most recent call last):
2019-07-13 15:24:41.374: ERROR:   File "scripts/client/gui/battle_control/arena_info/listeners.py", line 509, in __loadCompleteDelayed
2019-07-13 15:24:41.374: ERROR:   File "scripts/client/gui/battle_control/arena_info/listeners.py", line 541, in __loadInfluxCallback
2019-07-13 15:24:41.374: ERROR:   File "scripts/client/gui/battle_control/arena_info/listeners.py", line 571, in __onArenaLoadCompleted
2019-07-13 15:24:41.374: ERROR:   File "scripts/client/gui/battle_control/arena_info/listeners.py", line 102, in _invokeListenersMethod
2019-07-13 15:24:41.374: ERROR:   File "scripts/client/gui/battle_control/controllers/arena_load_ctrl.py", line 71, in arenaLoadCompleted
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/gameplay/delegator.py", line 63, in postStateEvent
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/frameworks/state_machine/machine.py", line 146, in post
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/frameworks/state_machine/machine.py", line 169, in __tick
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/frameworks/state_machine/machine.py", line 182, in __process
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/frameworks/state_machine/machine.py", line 382, in __notify
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/frameworks/state_machine/observers.py", line 132, in onStateChanged
2019-07-13 15:24:41.375: ERROR:   File "scripts/client/frameworks/state_machine/observers.py", line 132, in onStateChanged
2019-07-13 15:24:41.376: ERROR:   File "scripts/client/frameworks/state_machine/observers.py", line 47, in onStateChanged
2019-07-13 15:24:41.376: ERROR:   File "scripts/client/gui/app_loader/observers.py", line 132, in onEnterState
2019-07-13 15:24:41.376: ERROR:   File "scripts/client/gui/app_loader/loader.py", line 180, in changeSpace
2019-07-13 15:24:41.376: ERROR:   File "scripts/client/gui/app_loader/loader.py", line 248, in __updateSpace
2019-07-13 15:24:41.376: ERROR:   File "scripts/common/Event.py", line 44, in __call__
2019-07-13 15:24:41.376: ERROR:   File "mod_pro_efficiency", line 1, in onGUISpaceEntered
2019-07-13 15:24:41.376: ERROR:   File "scripts/common/Event.py", line 44, in __call__
2019-07-13 15:24:41.377: ERROR:   File "mod_pro_efficiency", line 1, in onBattleLoaded
2019-07-13 15:24:41.377: ERROR: TypeError: argument of type 'NoneType' is not iterable

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

 

 

 

Share this post


Link to post

Short link
Share on other sites

@sirmax получается то, что есть некоторые нюансы, которые  обнарудиваются в результате экспериментов.

 

сделал небольшой отчёт на примере миникарты:

    // Формат поля по умолчанию.
    "defaultItem": {
      "enabled": true,
      "hotKeyCode": 56, "onHold": true, "visibleOnHotKey": false,
      "tweensIn": [
        [ "to", 3.5, { "alpha": 1 } ]
      ],
      "tweensOut": [
        [ "to", 3.5, { "alpha": 0 } ]
      ],
      ...

- в начале боя союзники отображаются

- противник при первом засвете отображается, но без анимации

- далее противник пропадает - анимация появляется (затухание)

- далее создаётся поле "lost" - уже с анимацией

- дальнейшие появления пропадания происходят уже с анимацией.

----

Цитата

- противник при первом засвете отображается, но без анимации

попытка это решить с помощью метода "fromTo" приводит к тому, что без нажатия горячей клавиши поля остаются скрыты. Появляются только противники, которые пропали с засвета. Сначала "lost", потом как обычно, но при пропадании анимации почему-то нет (проверял на реплее)

    "defaultItem": {
      "enabled": true,
      "hotKeyCode": 56, "onHold": true, "visibleOnHotKey": false,
      "tweensIn": [
        [ "fromTo", 3.5, { "alpha": 0 }, { "alpha": 1 } ]
      ],
      "tweensOut": [
        [ "to", 3.5, { "alpha": 0 } ]
      ],
      ...

и это не является решением. При первом засвете у противника анимации всё ровно нет.

----

убрал "hotKeyCode" из кода:

    "defaultItem": {
      "enabled": true,
      "tweensIn": [
        [ "fromTo", 3.5, { "alpha": 0 }, { "alpha": 1 } ]
      ],
      "tweensOut": [
        [ "to", 3.5, { "alpha": 0 } ]
      ],
      ...

теперь у противника при первом засвете появляется анимация.

----

Цитата

убрал "hotKeyCode" из кода:

+ ещё  в "tweensIn" заменил методы "fromTo" на "to"

    "defaultItem": {
      "enabled": true,
      "tweensIn": [
        [ "to", 3.5, { "alpha": 1 } ]
      ],
      "tweensOut": [
        [ "to", 3.5, { "alpha": 0 } ]
      ],
      ...

анимация работает только у "dead" обеих команд. У противников нет ни при каких условиях - ни у пропавших, ни у снова появившихся, как это было на одном из примеров выше.

 

 

----

Слушай, сделай ещё для экстра полей карусели ориентир к selected

Share this post


Link to post

Short link
Share on other sites

@sirmax Нельзя ли еще сделать, чтобы "tweens" срабатывал в extraField при обновлении поля, даже если в этом поле нет ни какого события?

Share this post


Link to post

Short link
Share on other sites
18 минут назад, ktulho сказал:

@sirmax Нельзя ли еще сделать, чтобы "tweens" срабатывал в extraField при обновлении поля, даже если в этом поле нет ни какого события?

Можно, но не совсем уверен, что получится то, что ожидается.

Share this post


Link to post

Short link
Share on other sites
8 минут назад, sirmax сказал:

Можно, но не совсем уверен, что получится то, что ожидается.

Будут лишние срабатывания? Думал сделать, чтобы при засвете в ушах лампочка несколько раз моргала.

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.

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.

×