Lag krusningseffekter med Pixijs

Jan 23, 2026
hvordan
Create ripple effects
[1. 3]

Det er mange interessante effekter som kan legges til en side for å øke engasjementet, men det er viktig å velge effekter som kombinerer godt med det generelle estetikken til et nettsted (spiker estetikken til nettstedet ditt med en strålende Nettstedbygger verktøy). Her demonstrerer vi hvordan vi skal introdusere forskyvningskropp med JavaScript. Sjekk ut Mustafacelik. for et godt eksempel på effekten i handling.

Vil du ha forlovelsesanalyser på trykk? Web Hosting. Tjenester kan hjelpe deg med dette. Og vær sikker på å holde dataene dine trygge i toppen skylagring .

1. Lag krusninger

For å lage krusningseffekter vil Pixijs bli brukt siden dette gir enkle forskyvningseffekter. Her setter JavaScript-koden opp variablene som trengs, og laster bildene for å skape effekten. Når bildene er lastet, kalles "Setup" -funksjonen.

 Var App = New Pixi.Application (window.Innerwidth, window.InnerHeight);
Dokument.body.appendchild (app.View);
app.Stage.interactive = sant;
var posx, forskyvningsprite, forskyvningsfilter, bg, vx;
VAR-beholder = ny pixi.container ();
app.Stage.addchild (container);
Pixi.loader.add ("img / ripple.png"). Legg til ("img / bg.jpg"). Last (oppsett);

2. Lag forskyvningen

I "Setup" -funksjonen opprettes forskyvnings sprite som vil skape krusningseffekten, og dette tilsettes til et forskyvningsfilter. Det er da satt til å flytte ankerpunktet til midten av bildet og plassert på skjermen.

 Funksjonsoppsett () {
  posx = app.Renderer.width / 2;
  forskyvningerPrite = ny pixi.sprite (pixi.loader.resources ["img / ripple.png"]. tekstur);
  forskyvningFilter = nye pixi.filters.displacementfilter (forskyvningsprite);
  forskyvningerprite.anchor.set (0,5);
  forskyvningerPrite.x = app.Renderer.width.
/ 2;
  forskyvningerPrite.y = app.Renderer.Height.
/ 2;
  vx = forskyvningerprite.x;

3. Fullfør oppsettet

For å fullføre funksjonen "Setup", er forskyvningsfilterskalaen satt og bakgrunnen plassert. Legg merke til at skalaen er '0' for forskyvningen, det er fordi det vil bli satt i en høyde så snart musen beveger seg.

 app.STAGE.ADDCHILD (forskyvningsprite);
  container.filtre = [forskyvningsfilter];
  forskyvningFilter.scale.x = 0;
  forskyvningFilter.scale.y = 0;
  bg = ny pixi.spite (pixi.loader.resources ["img / bg.jpg"]. tekstur);
  bg.width = app.Renderer.width;
  bg.height = app.Renderer.Height;
  container.addchild (bg);
  ca.
  Løkke();
} 

4. Få musen

Neste kode griper bare musens posisjon på x-aksen når musen beveger seg. Dette vil bli brukt til å utløse mengden rippelforskyvningseffekt når brukeren beveger musen. Mer bevegelse vil gjøre rippelen større.

 Funksjonen OnPointeskove (eventdata) {
  posx = eventdata.data.global.x;
 }

5. Gjør det flytte

Funksjonen 'Loop' oppdaterer kontinuerlig skjermen. En hastighet for x-aksen er utarbeidet med musens posisjon og krusningen. Dette kartlegges deretter på filteret for å gi en verdi mellom 0 og 120.

 Funksjonsløyfe () {
  requestanimationFrame (loop);
  vx + = (posx - forskyvningerprite.x) * 0,045;
  forskyvningerprite.x = vx;
  var DISP = MATH.FLOOR (POSX - forskyvningerPrite.x);
  hvis (disp & lt; 0) disp = -disp;
  var fs = kart (DISP, 0, 500, 0, 120);
  DISP = Kart (DISP, 0, 500, 0,1, 0,6);

6. Fullfør koden

På slutten av "loop" -funksjonen er spriteen skalert til mengden forskyvning og filter skalert til mengden av dybden den burde ha. Endelig er kartfunksjonen erklært at Maps-verdien varierer til nye verdier.

 forskyvningerPrite.scale.x = DISP;
  forskyvningFilter.scale.x = fs;
}
 kart = funksjon (n, start1, stop1, start2, stop2) {
  VAR NEWVAL = (N - START1) / (STOPP1 - START1) * (STOP2 - START2) + START2;
  Return Newval;
};

Finn hele koden for denne opplæringen på Filsilo. .

Denne artikkelen oppstod opprinnelig i Web Designer Magazine. Abonner her .

Lær mer på Generere London 2018

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

Få se Sarah Parmentner, Bruce Lawson, Richard Rutter og Mer Snakk på Generere London 2018

Spesielle effekter og utover er hvor nettet er på vei og genererer høyttaler Marpi Marcinowskis kreative arbeid dreier seg om å bygge 3D-verdener, og skape immersive Ar, VR-opplevelser og historiefortelling i stil med en forskjell.

Hans snakk vil ta deg på en reise gjennom alle interaktive medier og teknologier og se på den fra brukerens perspektiv.

Ikke gå glipp av, få din billett nå

Relaterte artikler:

  • Er det greit å bygge nettsteder som stole på JavaScript?
  • Perfekt JavaScript i 1000 prosjekter
  • Slik administrerer du CSS-klasser med JavaScript

hvordan - Mest populære artikler

30 KeyShot Rendering Tips

hvordan Jan 23, 2026

[1. 3] Gjengivelse av et bilde, animasjon av en modell eller til og med en hel scene er et viktig skritt i kunstskapet. Uten dette..


Hvordan modell konsept kunst i kino 4d

hvordan Jan 23, 2026

[1. 3] For noen år siden spurte kunstdirektøren for Lucid-spill meg om å hjelpe dem med å designe 10 uavhengige biler for et 4..


10 Regler for å lage brukervennlige webskjemaer

hvordan Jan 23, 2026

[1. 3] Til tross for utviklingen av human-datamaskin interaksjon, er skjemaene fortsatt en av de viktigste typer interaksjon for b..


Lag illustrerte portretter fra bilder

hvordan Jan 23, 2026

[1. 3] Jeg studerte kunst og Maleri teknikker Og i lang tid var det helt mot ideen om å gå digital. Jeg så ikke ..


Opprett et interaktivt parallaxbilde

hvordan Jan 23, 2026

Parallax rulling [1. 3] er ikke lenger den garanterte oppmerksomhet-grabber det pleide å være, men det finnes andre måter å bruke par..


Slik prototypere en mobilapp med Adobe XD

hvordan Jan 23, 2026

[1. 3] Denne opplæringen, som viser deg hvordan du lager en mobilapp prototype i Adobe XD, ble satt sammen med ..


Hvordan male fantasy dyr

hvordan Jan 23, 2026

[1. 3] Når du har kommet opp med en ide for en fantasy skapning, er neste skritt å bringe det til liv ved å male det med trover..


Dokument dine designsystemer med Fractal

hvordan Jan 23, 2026

[1. 3] Har du lyst på å lære mer om designsystemer? Så ikke gå glipp av senior ui ingeniør Mina Markh..


Kategorier