Mimic — Картинка фейсплейта — ошибка скрипта

Стартовая страница Форумы Ошибки в работе Mimic — Картинка фейсплейта — ошибка скрипта

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Автор
    Записи
  • #42965
    manjey73
    Участник

    5 картинок

    Объясните, почему примитивный скрипт работает неверно.
    Должен происходить простой перебор картинок при смене экспортируемой переменной от 0 до 4
    0 — выключенное устройство, серая картинка
    1 — 4 картинки зеленые, имитация движения.

    Даже в редакторе происходит лажа со сменой картинки при изменении переменной upr

    #43014
    Mikhail
    Модератор

    Добрый день!
    Опубликуйте, пожалуйста, в эту тему скрипт и скриншоты его работы.

    #43018
    manjey73
    Участник

    Ссылка на fp в теме.
    Фокус, замена картинки происходит на следующем шаге по значению предыдущего шага.

    Объяснять дольше, чем вы посмотрите скрипт и в отладке как-то проверите.

    #43019
    manjey73
    Участник

    Статический скрин тут ничего не даст, нужно показывать в динамике или смотреть как-то через отладку что там происходит.

    #43020
    manjey73
    Участник

    Faceplate Картинки

    Заменил картинки на простые с номерами, чтобы было видно.
    и везде добавил вывод в консоль, какая картинка должна выводиться.

    Косяк видно невооруженным глазом, даже в Редакторе.
    При старте должна быть картинка 0 и при вводе значений 0-4 должны выводиться соответствующие картинки.

    переменная upr в экспортируемых свойствах, можно привязать к каналу 105 Симулятора.

    Переделывал скрипт непосредственно в фейсплейте, та же песня.

    • Ответ изменён 2 месяца, 3 недели назад пользователем manjey73.
    • Ответ изменён 2 месяца, 3 недели назад пользователем manjey73.
    #43037
    Boriss
    Участник

    Скачал. Посмотрел. Все интересно…
    Подозреваю, что это связано с тем, что не работает метод dataUpdated(args){}
    Срабатывает domUpdated(args){}

    Мнемосхема открыта в редакторе и на ней фейсплейт. Меняем экспортируемое свойство upr и меняется args.component.properties.imageName Сразу. Что видно в консоли. Но сама картинка не обновляется. Что-бы обновилось, достаточно снять/поставить галку «Видимый» или любую другую. Т.е. надо заставить сработать domUpdated(args){}
    Это в редакторе. А в представлении уже не заставить работать этот скрипт.

    Надо ждать…

    #43038
    manjey73
    Участник

    Скрипт то работает, но изменение картинки происходит через цикл, хотя в консоли видно, какая картинка должна вывестись и значение upr этому соответствует.

    То есть если вводить цифры от 0 до 4 и не вводить другие, то будет видно.

    #43039
    a80808
    Участник

    А в скрите сразу отсеять ненужные цифры? Т.е. если 0 — 5 — рисуем картинку, другие рисуем (например) кукиш )))))

    #43043
    Mikhail
    Модератор

    Ссылка на скриншоты не работает.
    Скрипт тоже не был добавлен в тему обсуждения.

    #43048
    manjey73
    Участник

    По ссылке готовый faceplate.
    С картинками, на которых цифры, чтобы видеть, какая картинка выводится. В скрипте в консоль выводится имя картинки, которое должна вывестись на экран.

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

    #43049
    manjey73
    Участник

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

    #43054
    Boriss
    Участник

    Сейчас всё это работает через костыли( скрипт фейсплейта). А должно работать через метод dataUpdated(args){} в скрипте компонента. Надо ждать новый релиз.

    #43060
    manjey73
    Участник

    скрипт в выложенном фейсплейте именно в компоненте, а не в фейсплейте.
    Но пробовал переделывать и туда, поведение одинаковое или почти одинаковое, может даже хуже.

    let prop = args.component.parent.properties;
    const variable1 = prop.upr; // Триггерная переменная
    
        if (variable1 == 0)  {
        args.component.properties.imageName = "screw_0.png";
        console.log("Screw screw_0.png - prop.upr  " + variable1);

    пример из скрипта. При изменении переменной в консоль выводится значение, например я поменял на 1, вывелось 1,, то есть условие выполнилось, но картинка поменяется на 1-ю, только если ввести следующее значение, например 2.

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

    #43061
    Boriss
    Участник

    У Вас скрипт есть в фейсплейте. Это и есть костыль. Уберите его и скрипт компонента вообще не будет работать. Это и есть проблема.

    #43062
    manjey73
    Участник

    Скрипт был совершенно для других целей.
    Это он упростился, чтобы Михаил нашел проблему у себя 🤣

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Для ответа в этой теме необходимо авторизоваться.