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
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);
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;
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();
}
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;
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);
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
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:
(Afbeelding Credit: Getty Images) Welkom bij onze gids voor het strekken van een canvas en opgezet voor olieverf. Doo..
Wil je weten hoe je een kat moet trekken? Je bent naar de juiste plaats gekomen. Dierendieren kunnen lastig zijn, maar het is ook..
Pagina 1 van 2: Pagina 1 Pagina 1 Pagina..
De mahlstick (of maïstick, zoals het soms bekend is) is een stabiliserende ondersteuningstool die wordt gebruikt door schilders ..
SEO: Het is een vuile baan, maar iemand moet het doen, en als je wilt dat iemand je ziet Ontwerpportfolio Anders d..
Cinema 4D is geweldig in veel dingen, maar het kan vertragen wanneer het veel objecten in de scène heeft, wat een ec..
My Unreal Engine 4-project gebruiken De laatste stop als een voorbeeld, wil ik u enkele belangrijke stappen laten zien om te volg..