Pixijs ile dalgalanma etkileri oluşturun

Sep 11, 2025
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

Sadece 4 ev eşyası ile kendi kalemi yap (ciddiyetle)

Nasıl Yapılır Sep 11, 2025

(Resim Kredisi: Olly Curtis) İPad veya tabletiniz için kendi kalemi yapmanın mümkün olduğunu biliyor muydunuz? ..


Shapr3d ile giderken Nasıl KIBBASH

Nasıl Yapılır Sep 11, 2025

(Resim Kredisi: Adam Dewhirst) ShapR3D, Kitbashing için harika bir araçtır. Kelimenin tam anlamıyla fikirleri pat..


Marmoset Toolbag'ı VR'de mevcut modellere kullanın

Nasıl Yapılır Sep 11, 2025

Marmoset takım çantası hiçbir şekilde yeni 3d sanat sanayi. Yıllardır çıktı ve özellikle oyun varlıkla..


CSS ile tarayıcıda kolaj efektleri oluşturun

Nasıl Yapılır Sep 11, 2025

Eğer hiç dilediyseniz, geleneksellerin etkilerini çoğaltabilirsiniz. Kolaj yapıcı senin içinde Web ..


19. yüzyıl master gibi boyanır

Nasıl Yapılır Sep 11, 2025

19. yüzyıl sanat için harika bir zamandı. Sanatçılar yüksek saygıda tutuldu ve halk sanat hakkında eğitildi. Mevcut tit..


Diffush ile başlayın

Nasıl Yapılır Sep 11, 2025

Herhangi bir parçaya ekstra hayat getirmenin en basit yollarından biri 3d sanat renk ve doku eklemektir. Bu sürece verilen, gölgelendirici veya materyaller veya hatta dokul..


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

Nasıl Yapılır Sep 11, 2025

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


Hayali bir marka için bir promosyon nasıl tasarlanır

Nasıl Yapılır Sep 11, 2025

Bir marka tasarlarken, yaratıcı yol açtığınız bir veya bir başlangıç ​​olup olmadığı, tüm dokunmatik noktalarda tutarlılık anahtardır. Marka ile ilgili her..


Kategoriler