関与を増やすためにページに追加することができる興味深い効果がたくさんありますが、サイトの全体的な美学とうまく組み合わせる効果を選ぶことが重要です(華麗なサイトの美的に華麗なサイト ウェブサイトビルダー ツール)。ここでは、JavaScriptを使用して変位リップルをどのように導入するかを示しています。チェックアウト ムスタファチェリック アクションの効果の素晴らしい例。
蛇口を叩くことがありますか? ウェブホスティング サービスはこれを助けることができます。そしてあなたのデータを上に安全に保つようにしてください クラウドストレージ 。
リップル効果を作成するためにPIXIJSが単純な変位効果をもたらすので使用されます。ここでは、JavaScriptコードは必要な変数を設定し、イメージをロードして効果を作成します。画像がロードされると、 'setup'関数が呼び出されます。
var app = new pixi.application(window.innerwidth、window.innerHeight);
document.body.appendChild(app.view);
app.stage.interactive = true;
VAR POSX、ディスプレイスメントプリテス、排気率フィルタ、BG、VX。
var container = new Pixi.Container();
app.stage.addchild(コンテナ);
pixi.loader.add( "img / ripple.png")。追加( "img / bg.jpg")ロード(設定);
'Setup'関数では、リップル効果を生み出す変位スプライトが作成され、これは変位フィルタに追加されます。その後、アンカーポイントを画像の中央に移動して画面に配置するように設定されています。
関数setup(){
posx = app.renderer.width / 2;
DESPARESSPRITE = NEW PIXI.SPRITE(PIXI.LOADER.RESOURCES ["IMG / RIPPLE.PNG"]テクスチャ);
distrablefilter = new pixi.filters.displactionFilter(ディスプレイスメントプライト);
dispacementsprite.anchor.set(0.5)。
dismacementsprite.x = app.renderer.width.
/ 2;
deveracementsprite.y = app.renderer.height.
/ 2;
Vx = deversementsprite.x;
'Setup'関数を終了すると、変位フィルタのスケールが設定され、背景が配置されます。スケールは変位のための '0'です。マウスが動くとすぐに高さに設定されるためです。
app.stage.addchild(deveracementsprite);
container.filters = [distrablefilter];
desplicationfilter.scale.x = 0;
desplicationfilter.scale.y = 0;
BG =新しいPixi.Sprite(Pixi.Loader.Resources ["img / bg.jpg"]。テクスチャ);
bg.width = app.renderer.width;
bg.height = app.renderer.height;
container.addchild(bg);
app.stage.on( 'MouseMove'、OnposeMove).on( 'TouchMove'、OnposeMove);
ループ();
次のコードは、マウスが移動するたびにX軸上のマウスの位置をつかみます。これは、ユーザーがマウスを移動したときにリップル変位の影響を引き起こすために使用されます。より多くの動きはリップルを大きくするでしょう。
関数OnposeMove(EventData){
posx = eventData.data.global.x;
}
'ループ'関数は絶えず画面を更新します。 X軸の速度は、マウスとリップルの位置を使って取り上げられます。次にこれをフィルタにマッピングして0から120の間の値を与える。
関数loop(){
RequestAnimationFrame(ループ);
VX + =(POSX - DISPARESSPRITE.X)* 0.045;
desplacementsprite.x = vx。
var disp = math.floor(posx - displacementsprite.x);
if(disp< 0)disp = -disp;
var fs = map(disp、0,500,0,120)。
disp = map(disp、0,500,0.1,0.6);
「ループ」機能の最後に、スプライトは変位量にスケーリングされ、それが持つべき深さの量にスケーリングされたフィルタの量にスケーリングされます。最後に、Map関数は値が新しい値に範囲の値を除いて宣言されます。
distversprite.scale.x = disp。
distrablefilter.scale.x = fs。
}
map =関数(n、start1、stop1、start2、stop2){
var newval =(n - start1)/(stop1 - start1)*(stop2 - start2)+ start2;
newvalを返します。
;;
このチュートリアルのフルコードを見つけてください ファイルイロ 。
この記事はもともとWeb Designer Magazineに登場しました。 ここで購読する 。
特別な効果とそれ以降は、Webが見出し、Speaker Marcinowskiの創造的な作業を生み出し、3Dの世界を囲み、没入型のAR、VRの経験、そして違いを持つスタイルのストーリーテリングを作成します。
彼の話は、すべての対話型のメディアやテクノロジを旅し、ユーザーの観点から見てみるでしょう。
関連記事: