Créer des effets d'ondulation avec Pixijs

Sep 12, 2025
Comment
Create ripple effects [dix] [dix] [dix]
[dix]

Il y a beaucoup d'effets intéressants qui peuvent être ajoutés à une page pour accroître l'engagement, mais il est important de choisir des effets qui se combinent bien avec l'esthétique globale d'un site (clouez l'esthétique de votre site avec un brillant Générateur de site Web outil). Ici, nous démontrons comment introduire des ondulations de déplacement avec JavaScript. Vérifier Mustafacelik pour un excellent exemple de l'effet en action.

[dix]

Vous voulez des analyses d'engagement sur le robinet? hébergement Web Les services peuvent aider avec cela. Et assurez-vous de garder vos données en sécurité en haut stockage en ligne .

1. Créer des ondulations

Pour créer des effets d'ondulation, Pixijs sera utilisé car cela fournit des effets de déplacement simples. Ici, le code JavaScript définit les variables nécessaires et charge les images pour créer l'effet. Une fois que les images sont chargées, la fonction 'SETUP' est appelée.

 var app = nouvelle pixi.application (fenêtre.innerWidth, fenêtre.innerheight);
document.body.AppendChild (app.view);
app.stage.interactive = vrai;
var posx, déplacementsprite, déplacementfilter, BG, VX;
varecteur var = nouveau pixi.container ();
app.stage.addchild (conteneur);
Pixi.loader.add ("img / ripple.png"). Ajouter ("img / bg.jpg"). Charge (configuration);

2. Créer le déplacement

Dans la fonction "Configuration", la sprite de déplacement est créée qui créera l'effet d'ondulation et cela est ajouté à un filtre de déplacement. Il est ensuite réglé pour déplacer son point d'ancrage au centre de l'image et positionné à l'écran.

 Configuration de la fonction () {
  POSX = App.Renderer.Width / 2;
  déplacementsprite = nouveau pixi.sprite (Pixi.Loader.Resources ["img / ripple.png"]. Texture);
  déplacementfilter = nouveau pixi.filters.displacementfilter (déplacementsprite);
  déplacementsprite.Shanchor.set (0.5);
  Déplacementsprit.x = app.Renderer.Widthwidth
/ 2;
  Déplacementsprit.y = app.Renderer.Height
/ 2;
  vx = déplacementsprit.x;

3. Terminez la configuration

Pour terminer la fonction 'Configuration', l'échelle de filtrage de déplacement est définie et l'arrière-plan positionné. Remarquez que l'échelle est «0» pour le déplacement, c'est que cela sera défini sur une hauteur dès que la souris se déplace.

[dix]
 app.stage.addchild (déplacementsprite);
  conteneur.filters = [déplacementfilter];
  déplacementfilter.cale.x = 0;
  déplacementfilter.cale.y = 0;
  bg = nouveau pixi.sprite (pixi.loader.Resources ["img / bg.jpg"]. Texture);
  bg.width = app.Renderer.Width;
  bg.height = app.Renderer.Height;
  conteneur.adddchild (BG);
  app.stage.on ('Mousemove', OnpointeMove) .on ('TouchMove', Onpointmove);
  boucle();
} 

4. Obtenez la souris

[dix]

Le code suivant attrape simplement la position de la souris sur l'axe des x lorsque la souris se déplace. Ceci sera utilisé pour déclencher la quantité d'effet de déplacement d'ondulations lorsque l'utilisateur déplace sa souris. Plus de mouvement fera l'ondulation plus gros.

 Fonction sur CompoutMove (EventData) {
  POSX = EventData.Data.global.x;
 }

5. Faites-le bouger

La fonction «boucle» met à jour continuellement l'écran. Une vitesse pour l'axe X est élaborée à l'aide de la position de la souris et de l'ondulation. Ceci est ensuite mappé sur le filtre pour donner une valeur comprise entre 0 et 120.

 boucle de fonction () {
  demandaimationframe (boucle);
  VX + = (POSX - Déplacementprit.x) * 0,045;
  déplacementspriter.x = VX;
  var app = math.floor (POSX - Déplacementsprit.x);
  Si (DISP & LT; 0) DISP = -DISP;
  var fs = carte (DISP, 0, 500, 0, 120);
  DISP = carte (DISP, 0, 500, 0,1, 0,6);

6. Terminez le code

À la fin de la fonction «boucle», le sprite est mis à l'échelle à la quantité de déplacement et de filtre à l'échelle à la quantité de profondeur qu'elle devrait avoir. Enfin, la fonction de carte est déclarée que la valeur des cartes varie vers de nouvelles valeurs.

 déplacementsprit.scale.x = disp;
  déplacementfilter.cale.x = fs;
}
 map = fonction (n, start1, stop1, start2, stop2) {
  var newval = (n - start1) / (stop1 - start1) * (Stop2 - Start2) + Start2;
  retourneval;
};

Trouvez le code complet de ce tutoriel sur Fichiers .

Cet article est apparu à l'origine dans le magazine Web Designer. S'abonner ici .

En savoir plus à Generate London 2018

An image displaying the speakers appearing at Generate London and providing a link to buy tickets.

[dix] [dix]
Pour voir Sarah Parmmenter, Bruce Lawson, Richard Rutter et plus de conversation à Generate London 2018

Effets spéciaux et au-delà est l'endroit où le Web est en dirigeant et génère le travail de création de Marcinowski par le haut-parleur autour du monde des mondes 3D, créant des arts immersives, des expériences VR et de la narration avec une différence.

Son conversation vous mènera dans un voyage à travers tous les médias et technologies interactifs et la regarder du point de vue de l'utilisateur.

Ne manquez pas, obtenez votre billet maintenant

Articles Liés:

  • Est-ce que ça va de construire des sites qui s'appuient sur JavaScript?
  • Parfait JavaScript dans 1 000 projets
  • Comment gérer les cours CSS avec JavaScript
[dix] [dix]
[dix]

Comment - Most Popular Articles

Comment télécharger des photos Instagram: Tout ce que vous devez savoir

Comment Sep 12, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'image: Joseph Foley sur Instagram) [DIX] ..


Comment dessiner un cheval

Comment Sep 12, 2025

[DIX] [DIX] [DIX] [dix] [DIX] Page 1 sur 2: Commentaire..


Créer un bot mou sur mesure

Comment Sep 12, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'image: concepteur web) [DIX] Slack Est Nations Un..


Comment concevoir des formes CSS: une introduction

Comment Sep 12, 2025

[DIX] [DIX] [DIX] [dix] [DIX] Le site Web de la base de Chaque consistait à Sous-Diviser La page Dans le..


Comment concevoir des bêtes fantastiques crédibles

Comment Sep 12, 2025

[dix] [dix] [dix] [dix] Il existe de nombreuses façons d'aborder la créature et con..


Mettez à niveau vos textures dans des concepteurs de substances

Comment Sep 12, 2025

[dix] [dix] [dix] [dix] L'artiste d'environnement de plomb bungie Daniel Thiger nous traverse ses tec..


Comment créer des mondes colorés qui racontent une histoire

Comment Sep 12, 2025

[dix] [dix] [dix] [dix] Des scènes imaginées qui vous laissent avec un sentiment d'émerveillement ..


15 conseils de portrait fantastique

Comment Sep 12, 2025

[dix] [dix] [dix] [dix] Page 1 sur 2: Page 1 ..


Catégories