#javascript #react-native #svg #react-native-svg
Вопрос:
У меня есть список таких ценностей, как:
[10, 20, 20, 30, 10, 10, 10, 20, 20, ...]
Это может измениться до начала анимации.
Цель состоит в том, чтобы взять круг SVG и сделать следующее:
- Индекс i = 0
- Плавно установите радиус для перечисления[i] в течение X секунд
- Увеличение i
- Плавно установите радиус для перечисления[i] в течение X секунд
- Увеличение i
- …
В настоящее время я использую Animate.timing
и onComplete
начинаю новую, но это кажется неэффективным способом (и, возможно, это может добавить некоторые задержки) для настройки заранее запланированной анимации. Есть ли способ сообщить объекту SVG об изменении формы в заданное время и с заданной длительностью?
Я воображаю, что смогу сказать кругу, чтобы:
[{from_radius: 10, to_radius: 20, duration: 0.25}, {from_radius: 20, to_radius: 20, duration: 0.25}, {from_radius: 20, to_radius: 30, duration: 0.25}, ...]
И передайте это кругу, чтобы он справился с этим автоматически.
Комментарии:
1. Конечно, используйте СМАЙЛ.
2. @RobertLongson не могли бы вы дать мне небольшое вступление/фрагмент, чтобы начать с этого? Я никогда не слышал о СМАЙЛЕ и не могу найти ничего с
react-native-svg
3. w3.org/Graphics/SVG/IG/resources/svgprimer.html#SMIL_animations предполагая, что react-native-svg поддерживает это.
4. Спасибо @RobertLongson, но в этом примере, похоже, есть простая анимация, а не взятие значений из списка. Мне просто интересно, возможно ли это.
5. Да, это возможно. Проверьте атрибут значения есть несколько примеров в MDN