Pixijs ile dalgalanma etkileri oluşturun

Jan 30, 2026
Nasıl Yapılır
Create ripple effects

Bir sayfaya katılmak için bir sayfaya eklenebilecek birçok ilginç etki var, ancak bir sitenin genel estetiğiyle iyi birleşen etkileri seçmek önemlidir (sitenizin estetiğini parlak bir şekilde çivileyin) Web Sitesi Oluşturucu aracı). Burada, JavaScript ile yer değiştirme dalgalanmalarını nasıl tanıtacağını gösteriyoruz. Ödeme Mustafacelik eylemdeki etkinin büyük bir örneği için.

Tap üzerine katılım analizi ister misiniz? ağ sağlayıcısı Hizmetler bu konuda yardımcı olabilir. Ve verilerinizi üstüne güvenli tuttuğunuzdan emin olun. Bulut depolama .

1. Dalgalar oluşturun

Dalgalanma efektleri oluşturmak için Pixijs, bu basit bir yer değiştirme etkileri sağlar. Burada JavaScript kodu, gerekli değişkenleri ayarlar ve etkiyi oluşturmak için görüntüleri yükler. Görüntüler yüklendikten sonra 'Kurulum' işlevi çağrılır.

 Var uygulaması = Yeni Pixi.Application (window.innerwidth, window.innerheight);
belge.body.appendchild (app.view);
app.stage.interactive = true;
Var Posx, Displasementsprite, DisplasementFilter, BG, VX;
var konteyner = yeni pixi.container ();
app.stage.addchild (konteyner);
Pixi.loader.add ("img / ripple.png"). Ekle ("IMG / BG.JPG"). Yük (Kurulum);

2. Yer değiştirmeyi oluşturun

'Kurulum' işlevinde, dalgalanma etkisini yaratacak yer değiştirme sprite oluşturulur ve bu bir yer değiştirme filtresine eklenir. Daha sonra çapa noktasını görüntünün ortasına taşımak ve ekranda konumlandırılmıştır.

 fonksiyon kurulumu () {
  posx = app.renderer.width / 2;
  Displasementsprite = New Pixi.sprite (Pixi.Loader.Resources ["img / ripple.png"]. doku);
  DisplasementFilter = New Pixi.Filters.DisplacementFilter (Displasementsprite);
  Displasementsprite.Anchor.set (0.5);
  displasementsprite.x = app.Renderer.Width
/ 2;
  displasementsprite.y = app.renderer.height
/ 2;
  vx = displasementsprite.x;

3. Kurulumu tamamlayın

'Kurulum' işlevini tamamlamak için, yer değiştirme filtresi ölçeği ayarlanmış ve arka plan konumlandırılmıştır. Dikkat Ölçek, yer değiştirme için '0' olduğundan, bu, fare hareket ettiği anda yüksekliğe ayarlanacağıdır.

 app.stage.addchild (Displasementsprite);
  konteyner.Filters = [DisplasementFilter];
  displasementfilter.scale.x = 0;
  DisplasementFilter.Scale.y = 0;
  BG = New Pixi.Sprite (Pixi.Loader.Resources ["img / bg.jpg"]. Doku);
  bg.width = app.renderer.width;
  bg.height = app.renderer.height;
  konteyner.addchild (bg);
  app.stage.on ('Mousemove', OnPointermove) .ON ('touchmove', onpointermove);
  döngü ();
} 

4. Fareyi al

Bir sonraki kod, fare hareket ettiğinde farenin x ekseni üzerindeki konumunu kaplar. Bu, kullanıcı farelerini hareket ettirdiğinde dalgalanma yer değiştirme etkisinin miktarını tetiklemek için kullanılacaktır. Daha fazla hareket dalgalanmayı büyütür.

 fonksiyon onpointermove (EventData) {
  posx = eventdata.data.global.x;
 }

5. Hareket ettirin

'Loop' işlevi sürekli olarak ekranı günceller. X ekseni için bir hız, farenin ve dalgalanma pozisyonu kullanılarak yapılır. Bu daha sonra 0 ile 120 arasında bir değer vermek için filtreye eşlenir.

 fonksiyon loop () {
  RequestanimationFrame (Döngü);
  vx + = (posx - displasementsprite.x) * 0.045;
  displasementsprite.x = vx;
  var disp = math.floor (posx - displasementsprite.x);
  Eğer (disp & lt; 0) DISP = -DISP;
  var FS = harita (DISP, 0, 500, 0, 120);
  DISP = harita (DISP, 0, 500, 0.1, 0.6);

6. Kodu bitirin

'Döngü' fonksiyonunun sonunda Sprite, yer değiştirme miktarına ölçeklendirilir ve sahip olması gereken derinlik miktarına ölçeklendirilir. Son olarak, harita işlevi, haritaların değerinin yeni değerlere kadar olduğunu bildirir.

 Displasementsprite.scale.x = DISP;
  displasementfilter.scale.x = FS;
}
 map = fonksiyon (n, start1, stop1, start2, stop2) {
  var newval = (n - start1) / (stop1 - start1) * (Stop2 - Start2) + Start2;
  newval dönüş;
};

Bu eğitimin tam kodunu bulun Fileilo .

Bu makale başlangıçta Web Designer dergisinde ortaya çıktı. Abone olun .

Generate Londra 2018'de daha fazla bilgi edinin

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

Sarah Parmenter, Bruce Lawson, Richard Rutter ve Londra 2018'de daha fazla konuşmayı gör.

Özel efektler ve öteleri, Web'in başlığı ve hoparlör oluşturduğu yerdir Marpi Marcinowski'nin yaratıcı çalışması, 3D dünyaları oluşturmak, sürükleyici AR, VR deneyimleri ve tarzda bir fark ile hikaye anlatımı oluşturur.

Konuşması sizi tüm etkileşimli medya ve teknolojilerle yolculuğa çıkacak ve kullanıcının bakış açısından bakacak.

Kaçırmayın, şimdi biletinizi alın

İlgili Makaleler:

  • Javascript'e güvenen siteler inşa etmek tamam mı?
  • 1.000 projede mükemmel javascript
  • JavaScript ile CSS sınıflarını nasıl yönetirsiniz

Nasıl Yapılır - En Popüler Makaleler

Canlı Depolama Nasıl Yaratıcı Olarak Kullanımı

Nasıl Yapılır Jan 30, 2026

(Resim Kredi: Pixabay'den Jan Vašek) Neden bulut depolama kullanacağını bilmeniz gerekiyor? Peki bulut depolama a..


Web sitenizi SEO'yu artırmanın 5 yolu

Nasıl Yapılır Jan 30, 2026

SEO: Kirli bir iş ama birinin bunu yapması gereken ve kimsenin görmesini istiyorsan tasarım portföyü Ağız ..


3 kolay adımda boyamak için bir tahta hazırlayın

Nasıl Yapılır Jan 30, 2026

En hızlı paylaşacağım boyama tekniği Bir panelin 'gessoing' için kullanıyorum ve pürüzsüz bir bitiş. B..


Boya gölge rengini nasıl karıştırır

Nasıl Yapılır Jan 30, 2026

Bazı insanlar zorlu gölgeler için karışım bulur, genellikle yepyeni bir rengi karıştırmaya çalışır. Ne yazık ki son..


Klips Studio Boyundaki Özel Fırçalar Oluşturun

Nasıl Yapılır Jan 30, 2026

Klip stüdyosunun her ilk kez kurulumu, dekorasyon alt yörüngesinin heyecanlandırılmasını içerir. Hızlı bir şekilde kayalıklı korkunç, yoğun ormanlar veya daha muhtemel, sadece ..


İşinizi 3D baskı için hazırlayın: 8 Üst İpuçları

Nasıl Yapılır Jan 30, 2026

3D baskı oldukça popüler hale geldi. Kendi yazdırmaya başlamak istiyorsan 3d sanat , en iyi sonuçları elde etmek için dikkat edilmesi gereken birkaç şey var. Burada, ..


Kroki tasarımlarınıza veri eklenir

Nasıl Yapılır Jan 30, 2026

Ekran tasarımı son birkaç yılda uzun bir yol kat etti. Heck, birkaç yıl önce 'ekran tasarımı' bile söylemedik. Grafik t..


Atomikte Hi-Sadakat Prototipi

Nasıl Yapılır Jan 30, 2026

Statik bir mockup veya düz dosya çizim aracı içinde bir fikir geliştirmeye çalışırken yakalanmak kolaydır, ancak bir ..


Kategoriler