Table des matières
Créer une animation de base en rafale
最终想法
Maison Tutoriel CMS WordPresse Démarrage rapide avec la bibliothèque d'animation Mojs : un guide du module Explosion

Démarrage rapide avec la bibliothèque d'animation Mojs : un guide du module Explosion

Sep 02, 2023 pm 11:49 PM
快速入门 module d'explosion bibliothèque d'animations mojs

Démarrage rapide avec la bibliothèque danimation Mojs : un guide du module Explosion

Nous commençons cette série en apprenant à animer des éléments HTML à l'aide de mojs. Dans ce deuxième tutoriel, nous continuons avec d'autres façons d'animer des formes SVG à l'aide du module Shape 模块制作内置 SVG 形状的动画。第三个教程介绍了使用 ShapeSwirlstagger.

Nous allons maintenant apprendre à animer différentes formes SVG en rafales à l'aide du module Burst. Ce tutoriel dépendra des concepts que nous avons abordés dans les trois premiers tutoriels. Si vous ne les avez pas encore lus, je vous recommande de les lire d'abord.

Créer une animation de base en rafale

La première chose que nous devons faire avant de créer des animations en rafale est d'instancier l'objet Burst 对象。之后,我们可以指定不同属性的值来控制动画的播放方式。 Burst 模块中的许多属性名称与 Shape. Ensuite, nous pouvons spécifier des valeurs pour différentes propriétés afin de contrôler la façon dont l'animation est jouée.

De nombreuses propriétés du module ont les mêmes noms que celles du module Shape. Cependant, dans ce cas, ces propriétés remplissent des tâches très différentes.

leftright 属性决定突发的初始位置,而不是突发内部的粒子。同样,xy

Les propriétés déterminent le mouvement de l'ensemble de l'éclat plutôt que le mouvement des particules individuelles.

radius 属性控制。这与单个形状的 radiusLes rayons des cercles formés par toutes les particules éclatées sont très différents par la propriété

, qui détermine la taille de ces formes. Dans le cas d'une rafale, le rayon détermine la distance des formes individuelles à l'intérieur.

countVous pouvez spécifier le nombre de formes ou de particules dans une seule rafale à l'aide de l'attribut

. Par défaut, il y aura cinq particules dans chaque rafale que vous créez. Toutes ces particules sont réparties uniformément sur la circonférence de l’éclatement. Par exemple, s’il y a quatre particules, elles seront placées à 90 degrés les unes des autres. S’il y a trois particules, elles seront placées à 120 degrés.

DegreeSi vous ne souhaitez pas que l'éclatement de particules couvre la totalité des 360 degrés, vous pouvez utiliser l'attribut

pour spécifier la partie qui doit être couverte. Toute valeur supérieure à 0 est valide pour cette propriété. Le degré spécifié sera réparti uniformément entre toutes les particules. Si le degré dépasse 360, les formes peuvent se chevaucher.

angleL'angle spécifié à l'aide de l'attribut

détermine l'angle de l'ensemble de la rafale. Dans ce cas, les particules individuelles ne tournent pas autour de leur propre centre, mais autour du centre de l’éclatement. Ceci est similaire à la révolution de la Terre autour du Soleil et diffère de la rotation de la Terre sur son axe.

scale 属性可缩放突发的所有物理属性的值,进而缩放各个形状。就像其他突发属性一样,其中的所有形状都会立即缩放。将突发 scale

Le réglage sur 3 augmentera le rayon de l'ensemble de l'éclat ainsi que la taille des formes individuelles de 3.

Dans l'extrait de code ci-dessous, nous allons créer cinq rafales différentes en utilisant les propriétés qui viennent d'être évoquées.

var burstA = new mojs.Burst({
  count: 20
});

var burstB = new mojs.Burst({
  angle: {
    0: 360
  },
  scale: {
    1: 2
  },
  radius: 10
});

var burstC = new mojs.Burst({
  angle: {
    0: 360
  },
  scale: {
    1: 2
  },
  radius: {
    10: 100
  }
});

var burstD = new mojs.Burst({
  degree: 180,
  radiusX: 10,
  angle: -90,
  scale: {
    1: 2
  },
  radius: {
    10: 100
  }
});

var burstE = new mojs.Burst({
  count: 20,
  degree: 3600
});
Copier après la connexion
burstAburstE 仅在它们必须覆盖的度数上有所不同。由于 burstA 中的粒子必须覆盖 360 度(默认值),因此它们的放置间隔为 360/20 = 18 度。另一方面,burstE 中的粒子以 3600/20 = 180Vous pouvez voir

le placement du diplôme. En partant de zéro, la première particule est placée à 0 degré et la particule suivante est placée à 180 degrés.

Placez ensuite la troisième particule à 360 degrés, ce qui est fondamentalement égal à 0 degré. Placez ensuite la quatrième particule à 540 degrés, mais cela équivaut fondamentalement à 180 degrés. En d’autres termes, toutes les particules impaires sont placées à 0 degré et toutes les particules paires à 180 degrés. En fin de compte, vous ne voyez que deux particules car toutes les autres particules se chevauchent avec les deux premières particules.

Il est important de se rappeler que vous n’avez pas de contrôle direct sur la durée, le délai ou la fonctionnalité d’assouplissement de l’animation en rafale. Le module détermine automatiquement toutes ces valeurs en fonction des valeurs des différents enfants animés.

Manipuler des particules éclatées individuelles

BurstJusqu'à présent dans ce didacticiel, la même animation a été appliquée à toutes les particules de l'éclatement. Leur angle, leur échelle, leur rayon et leur position changent tous de la même valeur. De plus, nous n’avons aucun contrôle sur la durée et la latence des particules individuelles ou sur l’ensemble du burst. Le module mojs

ne dispose pas d'un ensemble de propriétés pouvant modifier directement toutes ces valeurs. Cependant, nous pouvons spécifier des valeurs d'animation pour des particules individuelles, ce qui affecte à son tour l'animation en rafale. 🎜

爆发动画中的所有粒子都被视为原始 Burst 对象的子级。因此,mojs 允许我们使用 children 属性来控制单个爆发粒子的动画,该属性接受一个对象作为其值。您可以在子对象内使用除 xy 之外的所有 ShapeSwirl 属性。这是有道理的,因为爆发动画中的单个粒子必须出现在某些位置,并且允许我们随机更改单个粒子的位置将改变配置。

您未指定的任何子属性值都将设置为 ShapeSwirl 模块提供的默认值。在下面的示例中,我们对突发动画的 20 条不同线进行动画处理。这次,angle 属性已设置在单个粒子上,而不是 Burst 对象上,这样只有线绕其中心旋转,而不是整个对象。正如我们在上一篇教程中了解到的,所有 ShapeSwirl 对象默认情况下都会从 1 缩小到 0。这就是动画中线条长度从 40 变为 0 的原因。

var burstA = new mojs.Burst({
  count: 20,
  children: {
    shape: 'line',
    stroke: 'black',
    radius: 20,
    angle: {
    0: 180
    }
  }
});
Copier après la connexion

正如我之前提到的,我们可以为连拍动画中的所有 ShapeSwirl 属性设置动画。动画中的每个子项都可以有自己的一组属性。如果仅提供一个值,它将应用于所有子粒子。如果这些值以数组形式提供,它们将按顺序应用,一次一个粒子。

下面是使用我们迄今为止学到的所有概念创建五种不同的突发动画的 JavaScript 代码。

var burstA = new mojs.Burst({
  count: 20,
  angle: {
    0: 180
  },
  radius: {
    0: 100
  },
  children: {
    shape: "polygon",
    stroke: "black",
    radius: 20,
    angle: {
      0: 360
    },
    duration: 4000
  }
});

var burstB = new mojs.Burst({
  count: 20,
  angle: {
    0: 180
  },
  radius: {
    0: 100
  },
  children: {
    shape: "polygon",
    fill: ["yellow", "cyan", "orange"],
    stroke: "black",
    radius: 20,
    scale: {
      1: 2
    },
    duration: 2000
  },
  isShowEnd: false
});

var burstC = new mojs.Burst({
  count: 20,
  angle: {
    0: -180
  },
  radius: {
    0: 100
  },
  children: {
    shape: "circle",
    fill: ["red", "black", "blue"],
    radius: {
      10: "stagger(5, 1)"
    }
  }
});

var burstD = new mojs.Burst({
  count: 6,
  radius: {
    0: 100
  },
  children: {
    shape: "circle",
    fill: ["red", "yellow", "blue"],
    scale: {
      1: "rand(1, 10)"
    }
  },
  isShowEnd: false
});

var burstE = new mojs.Burst({
  count: 6,
  radius: {
    0: 100
  },
  children: {
    shape: "circle",
    fill: ["red", "yellow", "blue"],
    stroke: "black",
    scale: {
      1: "rand(1, 10)"
    }
  }
}).then({
  angle: {
    0: 360
  },
  radius: {
    100: 0
  },
  scale: {
    1: 0
  }
});
Copier après la connexion

在第一个突发动画中,直接应用于 Burst 对象的 angle 会围绕突发对象的中心旋转整个组。然而,在children属性中应用的angle会围绕它们自己的中心旋转所有三角形。我们还通过将所有子级的动画持续时间更改为 4000 毫秒来减慢突发动画的速度。

在第二个连拍动画中,所有三角形的颜色均取自传递给 fill 属性的数组。我们只指定了三种填充颜色,但三角形的总数为 20。在这种情况下,mojs 会不断循环数组元素,并一次又一次地用相同的三种颜色填充三角形。

在第四个动画中,我们使用在上一个教程中了解的 rand 字符串来为所有子粒子随机选择一个比例值。我们还将 isShowEnd 属性的值设置为 false 以隐藏动画结束时的粒子。

在第五个动画中,我们使用 Shape 模块教程中的 then() 方法在第一个动画序列完成后播放另一个动画序列。

最终想法

本系列的目的是让您熟悉 mojs 动画库的基础知识。每个教程都侧重于单个模块以及如何使用该模块中的属性来创建基本动画。

最后一个教程使用了之前教程中的概念来创建稍微复杂的动画。 Mojs 是一个非常强大的动画库,您获得的最终结果取决于您对所有属性的创意程度,因此请不断尝试。

如果您希望我在本教程中澄清任何内容,请在评论中告诉我。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Apprentissage Python : Comment installer la bibliothèque pandas dans le système Apprentissage Python : Comment installer la bibliothèque pandas dans le système Jan 09, 2024 pm 04:42 PM

Démarrage rapide : comment installer la bibliothèque pandas dans Python nécessite des exemples de code spécifiques 1. Présentation Python est un langage de programmation largement utilisé avec un puissant écosystème de développement qui comprend de nombreuses bibliothèques pratiques. Pandas est l'une des bibliothèques d'analyse de données les plus populaires. Elle fournit des structures de données et des outils d'analyse de données efficaces, facilitant le traitement et l'analyse des données. Cet article explique comment installer la bibliothèque pandas en Python et fournit des exemples de code correspondants. 2. Installez Py

Démarrage rapide avec la bibliothèque d'animation Mojs : un guide du module Explosion Démarrage rapide avec la bibliothèque d'animation Mojs : un guide du module Explosion Sep 02, 2023 pm 11:49 PM

Nous commençons cette série en apprenant à animer des éléments HTML à l'aide de mojs. Dans ce deuxième tutoriel, nous continuons à utiliser le module Shape pour animer les formes SVG intégrées. Le troisième didacticiel couvre d'autres façons d'animer des formes SVG à l'aide de ShapeSwirl et du module stagger. Nous allons maintenant apprendre à animer différentes formes SVG en rafales à l'aide du module Burst. Ce tutoriel dépendra des concepts que nous avons abordés dans les trois premiers tutoriels. Si vous ne les avez pas encore lus, je vous recommande de les lire d'abord. Création d'une animation en rafale de base La première chose que nous devons faire avant de créer une animation en rafale est d'instancier un objet Burst. Ensuite, nous pouvons spécifier différentes propriétés

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un service de streaming audio simple Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un service de streaming audio simple Jul 29, 2023 pm 11:45 PM

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter un service de streaming audio simple Introduction : Les services de streaming audio sont de plus en plus populaires dans le monde numérique d'aujourd'hui, ce qui nous permet de lire des fichiers audio directement sur le réseau sans effectuer de téléchargement complet. Cet article explique comment utiliser les fonctions du langage Go pour implémenter rapidement un service de streaming audio simple afin que vous puissiez mieux comprendre et utiliser cette fonction. Étape 1 : Préparation Tout d'abord, vous devez installer l'environnement de développement du langage Go. Vous pouvez le télécharger sur le site officiel (https://golan

Recommandez cinq frameworks couramment utilisés en langage Go pour vous aider à démarrer rapidement Recommandez cinq frameworks couramment utilisés en langage Go pour vous aider à démarrer rapidement Feb 24, 2024 pm 05:09 PM

Titre : Démarrez rapidement : cinq cadres de langage Go courants recommandés Ces dernières années, avec la popularité du langage Go, de plus en plus de développeurs ont choisi d'utiliser Go pour le développement de projets. Le langage Go a reçu une large attention pour son efficacité, sa simplicité et ses performances supérieures. Dans le développement du langage Go, le choix d'un framework approprié peut améliorer l'efficacité du développement et la qualité du code. Cet article présentera cinq frameworks couramment utilisés dans le langage Go et joindra des exemples de code pour aider les lecteurs à démarrer rapidement. Framework Gin Gin est un framework Web léger, rapide et efficace.

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples de reconnaissance d'images Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples de reconnaissance d'images Jul 30, 2023 pm 09:49 PM

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples de reconnaissance d'images. Dans le développement technologique actuel, la technologie de reconnaissance d'images est devenue un sujet brûlant. En tant que langage de programmation rapide et efficace, le langage Go a la capacité d'implémenter des fonctions de reconnaissance d'images. Cet article fournira aux lecteurs un guide de démarrage rapide en utilisant les fonctions du langage Go pour implémenter des fonctions simples de reconnaissance d'images. Tout d’abord, nous devons installer l’environnement de développement du langage Go. Vous pouvez télécharger la version appropriée sur le site officiel de Go Language (https://golang.org/)

Apprenez à démarrer rapidement en utilisant cinq outils de visualisation Kafka Apprenez à démarrer rapidement en utilisant cinq outils de visualisation Kafka Jan 31, 2024 pm 04:32 PM

Démarrage rapide : un guide d'utilisation de cinq outils de visualisation Kafka 1. Outils de surveillance Kafka : Introduction Apache Kafka est un système de messagerie distribué de publication-abonnement qui peut gérer de grandes quantités de données et fournir un débit élevé et une faible latence. En raison de la complexité de Kafka, des outils de visualisation sont nécessaires pour faciliter la surveillance et la gestion des clusters Kafka. 2.Outils de visualisation Kafka : cinq choix majeurs KafkaManager : KafkaManager est une communauté web open source

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples d'agrégation de données Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples d'agrégation de données Jul 29, 2023 pm 02:06 PM

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples d'agrégation de données. Dans le développement de logiciels, nous rencontrons souvent des situations où nous devons agréger un ensemble de données. Les opérations d'agrégation peuvent compter, résumer, calculer, etc., pour analyser et afficher des données. Dans le langage Go, nous pouvons utiliser des fonctions pour implémenter des fonctions simples d'agrégation de données. Tout d’abord, nous devons définir un type de données pour représenter les données que nous souhaitons agréger. Supposons que nous ayons le tableau des notes d'un élève et que chaque élève ait deux champs : nom et note, nous pouvons alors créer la structure suivante

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples de transmission de messages Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples de transmission de messages Jul 31, 2023 pm 02:09 PM

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter des fonctions simples d'envoi de messages. À l'ère actuelle de l'Internet mobile, l'envoi de messages est devenu une fonctionnalité standard de diverses applications. Le langage Go est un langage de programmation rapide et efficace, très adapté au développement de fonctions de transmission de messages. Cet article expliquera comment utiliser les fonctions du langage Go pour implémenter une simple fonction de transmission de messages et fournira des exemples de code correspondants pour aider les lecteurs à démarrer rapidement. Avant de commencer, nous devons comprendre les principes de base de la diffusion de messages. Généralement, la fonctionnalité de transmission de messages nécessite deux composants principaux : le serveur de transmission

See all articles