この記事では、次のように、クールな見事な大きな波のスケジュールをプレイするために、HTML5キャンバスの効果を紹介します。
上の図に示すように、この記事は上記の効果を達成することです。
Alloytouchは最近、クールでクールな負荷効果を書いたからです。したがって、好ましいBig Wave Progressチャート。
まず、Big Wave Picture Progressコンポーネントをパッケージ化する必要があります。基本原則は、キャンバスを使用してベクトル図と画像素材を描画して、波の特殊効果を合成することです。
四肢を理解してくださいQuadraticCurveto()メソッドは、2番目のベッセル曲線の指定された制御点を使用して、現在のパスにポイントを追加するために使用されます。
JavaScriptの構文:
Context.QuadraticCurveto(CPX、CPY、X、Y);パラメーター
CPXベッセル制御ポイントのX座標
CPY Bessel Control Point Y座標
x xのエンドポイントでx座標
y yの終点にあるyフード
のように:
ctx.moveto(20,20);
上記のコードを使用して、2番目のベッセル曲線を描画できます。
波を描いてみてくださいvar wavewidth = 300、offset = 0、waveheight = 8、wavecount = 5、startx = -100、starty = 208、progress = 0、d2 = wavewidth / wavecount、= d2 / 2、hd = d / 2 、c = document.getElementbyid(mycanvas)、ctx = c.getContext(){offset- = 5; == d2)ctx.clearrect(c.width、ctx.beginpath(); for(i = 0; i <wavecount; i ++){var dx = dx + startx -offset; offsetx + d + d、offaveheight、offsetx + d2、300);
あなたは無限の運動の波を見ることができます:
ここでの主なニーズは、200200キャンバスを使用して、画像修正された画像を非表示にするためのキャンバスよりも大きいです。
コードクローンを取得した場合は、大きなキャンバスに描画してみることができます。
ここで、(-1 offset === d2)offset = 0;
D2はピーク+バレーの長さです。ピーク+バレーの後、同じライフサイクルが0と同じライフサイクルから始まり始めたため、0にリセットできます。
GlobalCompositeOperationを理解するGlobal CompositeTerationプロパティは、キャンバスに描かれた色がキャンバスの既存の色とどのように組み合わされるかを示しています。
使用する大きな波の進行図を描く:
ctx.globalcompositeoperation = destination -top;
宛先アットトップの重要性:キャンバス上の既存のコンテンツは、新しいグラフィックと重複する場合にのみ保持されます。新しい数字はコンテンツの後に描かれます。
もちろん、GlobalComposiTeprationには1つずつリストされていません。
全体的な実装var img = new image() img.onload = function(){tick();};
シンプルで直接的になるために、ローダーをカプセル化するコードを以下に示し、SRCは新しい画像を介して直接設定して画像をロードします。
ベクトル図を描画した後、GlobalCompositeOperationを設定してから、描画順序を間違えることはありません。
やっと
ダウンロードの例:デモ
上記は、この記事のすべての内容です。