Maak rimpeleffecten met PIXIJS

Sep 11, 2025
Procedures
Create ripple effects

Er zijn veel interessante effecten die aan een pagina kunnen worden toegevoegd om de betrokkenheid te vergroten, maar het is belangrijk om effecten te plukken die goed combineren met de algehele esthetiek van een site (spijker de esthetiek van uw site met een briljant spijker website bouwer gereedschap). Hier demonstreren we hoe u verplaatsingsrimpelingen met JavaScript kunt introduceren. Uitchecken Mustafacelik voor een groot voorbeeld van het effect in actie.

Wilt u engagement Analytics on Tap? web hosting Services kunnen hiermee helpen. En zorg ervoor dat je je gegevens veilig houdt in de top cloud opslag

1. Maak rimpelingen

Om rimpelingseffecten te maken, worden Pixijs gebruikt omdat dit eenvoudige verplaatsingseffecten biedt. Hier stelt de JavaScript-code de vereiste variabelen in en laadt de afbeeldingen om het effect te creëren. Zodra de afbeeldingen zijn geladen, wordt de functie 'Setup' genoemd.

 Var-app = nieuwe PIXI.Application (venster.innerwidth, window.innerHeight);
Document.body.Phdchild (app.view);
app.stage.interactive = true;
Var Posx, VerplaatsingenPrite, DisplacementFilter, BG, VX;
var container = nieuwe pixi.container ();
app.stage.addchild (container);
PIXI.LOLTER.ADD ("IMG / RIPPLE.PNG"). Toevoegen ("IMG / BG.JPG"). LOAD (SETUP);

2. Maak de verplaatsing

In de functie 'Setup' wordt de verplaatsingsprite gemaakt die het rimpeleffect zal maken en dit wordt toegevoegd aan een verplaatsingsfilter. Het is dan ingesteld om zijn ankerpunt naar het midden van de afbeelding te verplaatsen en op het scherm wordt gepositioneerd.

 Functie Setup () {
  Posx = app.Renderer.width / 2;
  VerplaatsingenPrite = NIEUW PIXI.SPRITE (PIXI.LOLTER.RESOURCES ["IMG / RIPPLE.PNG"]. Textuur);
  difflacementFilter = nieuwe PIXI.FILLTERS.DisplacementFilter (verplaatsingspriet);
  verplaatsingspriet.anchor.set (0,5);
  DisplacementsPrite.x = app.Renderer.width
/ 2;
  verplaatsingenPrite.y = app.Renderer.Height
/ 2;
  vx = verplaatsingenPrite.x;

3. Voltooi de setup

Om de 'Setup'-functie af te maken, wordt de schaalverplaatsingsfilterschaal ingesteld en de gepositioneerde achtergrond. Let op de schaal is '0' voor de verplaatsing, dat komt omdat het op een hoogte zal worden ingesteld zodra de muisbeweging beweegt.

 App.Stage.Addchild (verplaatsingenPrite);
  container.Filters = [difflacementFilter];
  difflacementFilter.scale.x = 0;
  difflacementFilter.scale.y = 0;
  BG = NIEUWE PIXI.SPRITE (PIXI.LOLTER.RESOURCES ["IMG / BG.JPG"]. Textuur);
  bg.width = app.Renderer.width;
  bg.Height = app.Renderer.Height;
  container.Addchild (BG);
  app.Stage.on ('Mousemove', Onpointermove) .on ('touchmove', onpointermove);
  lus();
} 

4. Get de muis

De volgende code grijpt gewoon de positie van de muis op de x-as wanneer de muisbeweging beweegt. Dit zal worden gebruikt om de hoeveelheid rimpelverplaatsingseffect te activeren wanneer de gebruiker hun muis beweegt. Meer beweging zal de rimpel groter maken.

 Functie Onpointermove (EventData) {
  Posx = eventdata.data.global.x;
 ​

5. Laat het bewegen

De 'Loop'-functie werkt het scherm voortdurend bij. Een snelheid voor de x-as wordt uitgewerkt met behulp van de positie van de muis en de rimpeling. Dit wordt vervolgens in kaart gebracht op het filter om een ​​waarde tussen 0 en 120 te geven.

 Functielus () {
  aanvrager (lus);
  vx + = (POSX - DisplacementSprite.x) * 0.045;
  DisplacementsPrite.x = VX;
  VAR DISP = MATH.VLOOR (POSX - DISPLAATSPRITE.X);
  if (disp & lt; 0) disph = -disp;
  Var FS = Kaart (DISP, 0, 500, 0, 120);
  DISP = MAP (DISP, 0, 500, 0.1, 0.6);

6. Maak de code af

Aan het einde van de 'lus'-functie wordt de sprite geschaald tot de hoeveelheid verplaatsing en filter geschaald tot het bedrag van de diepte. Ten slotte wordt de kaartfunctie aangegeven dat kaartenwaarde bereikt aan nieuwe waarden.

 DisplacementsPrite.scale.x = DISP;
  difflacementFilter.scale.x = FS;
​
 Kaart = functie (N, Start1, Stop1, Start2, Stop2) {
  Var NEWVAL = (N - Start1) / (STOP1 - START1) * (STOP2 - START2) + START2;
  terugkeer newval;
​

Zoek de volledige code voor deze tutorial on Filesilo

Dit artikel verscheen oorspronkelijk in Web Designer Magazine. Abonneer hier

Meer informatie bij Generate London 2018

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

Ga naar Sarah Parmenter, Bruce Lawson, Richard Rutter en meer praten op Genate London 2018

Speciale effecten en daarbuiten is waar het web op weg is en het creatieve werk van Speaker Marpi Marcinowski genereert draait om het bouwen van 3D werelden, het creëren van meeslepende AR, VR-ervaringen en verhalen in stijl met een verschil.

Zijn gepraat neemt je mee op een reis door alle interactieve media en technologieën en bekijkt het vanuit het perspectief van de gebruiker.

Mis het niet, ontvang nu uw ticket

Gerelateerde artikelen:

  • Is het goed om sites te bouwen die afhankelijk zijn van JavaScript?
  • Perfect JavaScript in 1.000 projecten
  • Hoe CSS-klassen met JavaScript te beheren

Procedures - Meest populaire artikelen

Hoe een canvas uit te rekken en op te zetten voor olieverf

Procedures Sep 11, 2025

(Afbeelding Credit: Getty Images) Welkom bij onze gids voor het strekken van een canvas en opgezet voor olieverf. Doo..


Hoe een kat te tekenen

Procedures Sep 11, 2025

Wil je weten hoe je een kat moet trekken? Je bent naar de juiste plaats gekomen. Dierendieren kunnen lastig zijn, maar het is ook..


Leer een 3D-persoon te modelleren in Zbrush en Maya

Procedures Sep 11, 2025

Pagina 1 van 2: Pagina 1 Pagina 1 Pagina..


Hoe een mahlstick te maken en te gebruiken voor het schilderen

Procedures Sep 11, 2025

De mahlstick (of maïstick, zoals het soms bekend is) is een stabiliserende ondersteuningstool die wordt gebruikt door schilders ..


5 manieren om de SEO van uw website te vergroten

Procedures Sep 11, 2025

SEO: Het is een vuile baan, maar iemand moet het doen, en als je wilt dat iemand je ziet Ontwerpportfolio Anders d..


19 tips voor Great Poser Art

Procedures Sep 11, 2025

Pagina 1 van 2: Pagina 1 Pagina 1 Pagina..


Hoe maak je een RedShift-proxy in Cinema 4D

Procedures Sep 11, 2025

Cinema 4D is geweldig in veel dingen, maar het kan vertragen wanneer het veel objecten in de scène heeft, wat een ec..


Maak een spelomgeving in Unreal Engine 4

Procedures Sep 11, 2025

My Unreal Engine 4-project gebruiken De laatste stop als een voorbeeld, wil ik u enkele belangrijke stappen laten zien om te volg..


Categorieën