Alexa APL: как воспроизвести зацикленную GIF-анимацию?
Я развиваю навык Alexa и использую APL для визуальных эффектов, я пытаюсь зациклить отображение / скрытие изображений в контейнере для репликации анимированного GIF.
В настоящее время у меня есть первый цикл, работающий с использованием AnimateItem для изменения видимости каждого изображения после заданной задержки, например:
{
"type": "APL",
"version": "1.3",
"settings": {},
"theme": "dark",
"import": [],
"resources": [],
"styles": {},
"onMount": [],
"graphics": {},
"commands": {
"fadeIn": {
"parameters": ["duration", "delay"],
"commands": [
{
"type": "AnimateItem",
"duration": "${duration}",
"delay": "${delay || 0}",
"value": [
{
"property": "opacity",
"from": 0,
"to": 1
}
]
}
]
},
"fadeOut": {
"parameters": ["duration", "delay"],
"commands": [
{
"type": "AnimateItem",
"duration": "${duration}",
"delay": "${delay || 0}",
"value": [
{
"property": "opacity",
"from": 1,
"to": 0
}
]
}
]
}
},
"layouts": {},
"mainTemplate": {
"parameters": ["payload"],
"items": [
{
"type": "Container",
"height": "100vh",
"width": "100vw",
"items": [
{
"type": "Image",
"width": "100vw",
"height": "100vh",
"source": "https://via.placeholder.com/100",
"position": "absolute",
"onMount": [
{
"type": "Sequential",
"commands": [
{
"type": "fadeOut",
"delay": 0,
"duration": 0
},
{
"type": "fadeIn",
"delay": 1,
"duration": 0
},
{
"type": "fadeOut",
"delay": 300,
"duration": 0
}
]
}
]
},
{
"type": "Image",
"width": "100vw",
"height": "100vh",
"source": "https://via.placeholder.com/200",
"position": "absolute",
"onMount": [
{
"type": "Sequential",
"commands": [
{
"type": "fadeOut",
"delay": 0,
"duration": 0
},
{
"type": "fadeIn",
"delay": 300,
"duration": 0
},
{
"type": "fadeOut",
"delay": 600,
"duration": 0
}
]
}
]
},
{
"type": "Image",
"width": "100vw",
"height": "100vh",
"source": "https://via.placeholder.com/300",
"position": "absolute",
"onMount": [
{
"type": "Sequential",
"commands": [
{
"type": "fadeOut",
"delay": 0,
"duration": 0
},
{
"type": "fadeIn",
"delay": 600,
"duration": 0
},
{
"type": "fadeOut",
"delay": 900,
"duration": 0
}
]
}
]
},
]
}
]
}
}
Как лучше всего повторить этот процесс после завершения итерации? Я пытался использовать пейджеры и RepeatCount в AnimateItem, но безуспешно
РЕДАКТИРОВАТЬ:
Обновлен приведенный выше код с примером полного документа APL (заменены источники изображений и уменьшено количество изображений до 3, а не 60+, но логика та же); файл источника данных пуст, поэтому не указан
1 ответ
Я могу помочь вам, если вы можете поделиться полным документом APL и источником данных, чтобы я понял, чего вы пытаетесь достичь.