Jump to content
Korean Random

sirmax

XVM Team XVM Team
  • Posts

    14,403
  • Joined

  • Last visited

  • Days Won

    246

Posts posted by sirmax

  1. 18 минут назад, ktulho сказал:

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

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

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

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

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

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

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

  3. 2 минуты назад, HEKPOMAHT сказал:

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

     

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

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

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

     

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

    
      "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 получается так:

     

  5. 7 минут назад, HEKPOMAHT сказал:

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

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

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

     

     

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

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

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

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

  8. если нужно от начального до конечного значения, тогда надо использовать метод "fromTo"

    1 час назад, HEKPOMAHT сказал:

    в миникарте с экстраполя без событий, может на флаг видимости сделать ориентир?

     

    если делать, то для всех. в принципе, можно

     

    1 час назад, HEKPOMAHT сказал:

    по "hotKeyCode" не работает.

    
    "hotKeyCode": 56, "onHold": true, "visibleOnHotKey": true,
    "tweens": [
      [ "to", 2, { "alpha": 1 } ],
      [ "to", 2, { "alpha": 0 } ]
    ],

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

    Должно быть так: нажал - плавно появилось, отпустил - плавно исчезло, пока удерживаешь - статично.

    проверю

    по hotKeyCode не понял. если надо, чтобы появлялось/исчезало по нажатию, то нужно `"onHold": false` использовать

    сделаю еще "tweensIn" и "tweensOut", чтобы можно было отдельно появление и исчезание настроить.

    то есть будет так - если есть "tweens", то срабатывает по событиям обновления (по hotKeyCode уберу)

    если есть "tweensIn" и/или "tweensOut", то они срабатывают по изменению "visible", не важно по флагам, или по hotKeyCode.

    • Upvote 1
  9. Можно попробовать. Наверняка еще не финальный вариант, но нужно понять, куда двигаться дальше.

    Основано на библиотеке GreenSock, класс TweenLite.

    В экстраполях добавилось поле "tweens". Это массив методов, которые будут вызываться последовательно. Каждый метод - это тоже массив, где первый элемент - название метода, а последующие - аргументы, в зависимости от метода.

    Например:

        "totalEfficiency": {
          ...
          "tweens": [
            [ "to", 1, { "alpha": 1 } ],
            [ "delay", 3 ],
            [ "to", 1, { "alpha": 0.5 } ]
          ],
    
          ...
    
        }
    

    тут поле изначально полупрозрачное, а событию в течение 1 секунды становится не прозрачным и через 3 секунды затухает в течение 1 секунды

    кроме "alpha" можно использовать любые другие поля, которые есть в TextField, так что эффекты можно делать насколько фантазии хватит

     

    Доступны методы:

    [ "to", duration:Number, vars:Object]

    [ "from", duration:Number, vars:Object]

    [ "set", vars:Object]

    [ "fromTo", duration:Number, fromVars:Object, toVars:Object]

    [ "delay", duration:Number ]

     

    Описание методов можно найти в документации: https://greensock.com/asdocs/com/greensock/TweenLite.html

    кроме `delay`, он эквивалентен `to(duration, {})`

     

    Буду благодарен, если кто-нибудь это опишет в ChangeLog и в extra-field.txt

     

     

     

    Вот быстрый пример.

    Конфиг:

    
        "hitLogBody": {
    
          ...
          "tweens": [
            [ "to", 0.5, { "alpha": 1, "scaleX": 1.5, "scaleY": 1.5 } ],
            [ "to", 0.5, { "alpha": 0.8, "scaleX": 1, "scaleY": 1 } ]
          ]
    
        }
    

     

    • Upvote 4
  10. 49 минут назад, HEKPOMAHT сказал:

    пример 1: при нажатии горячей клавиши;

    ок, тут событие понятно, можно ориентироваться на "hotKeyCode"

     

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

    пример 2: сообщение о полученном уроне:

    - плавное появление - 2 сек

    - плавное затухание до полного исчезновения - 3 сек

    а тут какое событие? любое, которое срабатывает на "updateEvent"?

     

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

    пример 3: окно статистики по таб

    - нажал клавишу -> содержимое полей появилось например через пол секунды (ну это так, больше для красоты)

    это нужно делать по-другому, не так как в экстраполях. пока не обсуждаем.

×
×
  • Create New...