Я пытаюсь создать какую -то жидкую анимацию, как видно здесь (статическое изображение). Видео с эффектом можно увидеть в этом видео на YouTube примерно от 35 -х годов. Точки появляются на самом внешнем круге и двигаются внутрь. Когда они приближаются к внутреннему кругу, отображающему информацию о зарядке, точка контакта точки с кругом вроде как постепенно оживляет вверх до тех пор, пока она не соприкасается с движущейся точкой, а затем обратно обратно к окружности круга. Вот мой код, но анимация не совсем там, окружность внезапно масштабируется вверх и обратно и не является плавной. < /P>
Я пытаюсь создать какую -то жидкую анимацию, как видно здесь (статическое изображение). Видео с эффектом можно увидеть в этом видео на YouTube примерно от 35 -х годов. Точки появляются на самом внешнем круге и двигаются внутрь. Когда они приближаются к внутреннему кругу, отображающему информацию о зарядке, точка контакта точки с кругом вроде как постепенно оживляет вверх до тех пор, пока она не соприкасается с движущейся точкой, а затем обратно обратно к окружности круга. Вот мой код, но анимация не совсем там, окружность внезапно масштабируется вверх и обратно и не является плавной. < /P> [code]struct MovingDot: Identifiable { let id = UUID() var startAngle: Double var progress: CGFloat var scale: CGFloat = 1.0 }
struct BulgeEffect: Shape { var targetAngle: Double var bulgeHeight: CGFloat var bulgeWidth: Double
var animatableData: AnimatablePair { get { AnimatablePair(targetAngle, bulgeHeight) } set { targetAngle = newValue.first bulgeHeight = newValue.second } }
func path(in rect: CGRect) -> Path { let radius = rect.width / 2 var path = Path()
path.move(to: CGPoint(x: rect.midX + radius, y: rect.midY)) stride(from: 0, to: 2 * .pi, by: 0.01).forEach { angle in let distanceFromTarget = abs(angle - targetAngle) let bulgeEffect = distanceFromTarget < bulgeWidth ? bulgeHeight * (cos(distanceFromTarget / bulgeWidth * .pi) + 1) / 2 : 0 let x = rect.midX + (radius + bulgeEffect) * cos(angle) let y = rect.midY + (radius + bulgeEffect) * sin(angle) path.addLine(to: CGPoint(x: x, y: y)) }
path.closeSubpath() return path } }
struct LiquidAnimation: View { let outerDiameter: CGFloat let innerDiameter: CGFloat let dotSize: CGFloat
@State private var movingDots: [MovingDot] = [] @State private var bulgeHeight: CGFloat = 0 @State private var targetAngle: Double = 0
struct ContentView: View { var body: some View { ZStack { LiquidAnimation( outerDiameter: 350, innerDiameter: 150, dotSize: 4 ) } } } [/code] Как я могу добиться того же эффекта, что и в видео?
Я сталкиваюсь с ошибками при попытке реализовать теги Liquid, специфичные для Shopify, с помощью библиотеки kalimatas/php-liquid. Вот моя настройка:
// LiquidRenderer.php
class LiquidRenderer
{
private $template;
Я сталкиваюсь с ошибками при попытке реализовать теги Liquid, специфичные для Shopify, с помощью библиотеки kalimatas/php-liquid. Вот моя настройка:
// LiquidRenderer.php
class LiquidRenderer
{
private $template;
Я сталкиваюсь с ошибками при попытке реализовать теги Liquid, специфичные для Shopify, с помощью библиотеки kalimatas/php-liquid. Вот моя настройка:
// LiquidRenderer.php
class LiquidRenderer
{
private $template;
Я пытаюсь создать какую -то жидкую анимацию, как видно здесь (статическое изображение). Видео с эффектом можно увидеть в этом видео на YouTube примерно от 35 -х годов. Точки появляются на самом внешнем круге и двигаются внутрь. Когда они...
Скажите, что у меня есть представление о контейнере, которое я использую для применения последовательного стиля к различным содержащимся представлениям.
struct FormattedContainer: View {
let content: Content