css3+HTML5 キャンバスのクールな 3D ライン拡張アニメーション特殊効果
<スクリプト> ;(関数() { '厳密を使用'; var c = document.getElementById('c'); var ctx = c.getContext('2d'); var w = c.width = window.innerWidth; var h = c.height = window.innerHeight; var cx = w / 2; var cy = h / 2; var fl = 1000; 関数 prj(obj) { var cz = obj.z + fl; if(cz === 0) 戻り値; var scl = fl / cz; obj.p.x = cx + obj.x * scl; obj.p.y = cy + obj.y * scl; obj.s = scl; } var P = 関数(x, y, z) { this.x = x; this.y = y; これ.z = z; this.s = 1; this.cl = 0; this.p = { ×:0、 y:0 }; }; P.プロトタイプ = { コンストラクター: P、 更新: function() { this.z -= 30; }、 レンダリング: function(ctx) { if(this.z <= -fl) return; ctx.save(); ctx.translate(this.p.x, this.p.y); ctx.scale(this.s, this.s); ctx.fillStyle = 'hsla(' + this.cl + ', 100%, 50%, 0.5)'; ctx.beginPath(); ctx.arc(0, 0, 2, 0, Math.PI * 2); ctx.fill(); ctx.restore(); } }; var M = 関数(x, y, z) { this.list = []; this.max = 100; this.x = x; this.y = y; これ.z = z; this.s = 1; this.p = { ×:0、 y:0 }; this.ax = Math.random() * (Math.PI * 2); this.ay = Math.random() * (Math.PI * 2); this.rx = Math.random() * 100; this.ry = Math.random() * 100; this.cl = Math.random() * 360; this.cls = Math.random(); }; M.プロトタイプ = { 施工者:M、 更新: function() { this.cl += this.cls; this.ax += Math.random() * 0.1 - 0.02; this.ay += Math.random() * 0.1 - 0.02; this.x = Math.cos(this.ax) * 100; this.y = Math.sin(this.ay) * 100; this.z += 10; if(this.z > fl) this.z = fl; if(this.list.length < this.max) { if(Math.random() * 100 < 50) { var pp = 新しい P(this.x, this.y, this.z); pp.cl = this.cl; this.list.push(pp); } } それ以外 { var pp = this.list.shift(); pp.x = this.x; pp.y = this.y; pp.z = this.z; pp.cl = this.cl; this.list.push(pp); } }、 レンダリング: function(ctx) { if(this.z <= -fl) return; ctx.save(); ctx.translate(this.p.x, this.p.y); ctx.fillStyle = '緑'; ctx.beginPath(); ctx.arc(0, 0, 2, 0, Math.PI * 2); ctx.fill(); ctx.restore(); } }; 関数 update(mv, list) { for(var i = 0; i < list.length; i++) { var p = リスト[i]; p.update(); prj(p); p.render(ctx); } for(var i = list.length-1; i >= 0; i--) { var p = リスト[i]; if(p.z <= -fl) 続行; if(i === list.length - 1) { ctx.lineWidth = Math.random(); ctx.ストロークスタイル = 'hsl(' + mv.cl + ', 100%, 50%)'; ctx.beginPath(); ctx.moveTo(p.p.x, p.p.y); } それ以外 { ctx.lineTo(p.p.x, p.p.y); } } ctx.ストローク(); } var ms = []; for(var i = 0; i < 10; i++) { ms.push(新しいM( Math.random() * 400 - 200、 Math.random() * 400 - 200、 Math.random() * 400 - 200)); } requestAnimationFrame(関数ループ() { requestAnimationFrame(ループ); ctx.clearRect(0, 0, w, h); for(var i = 0; iこれは HTML5 Canvas 绘制に基づく一款ベースの炫酷 3D 線条延伸アニメーション画特效、多彩颜色变幻非常、漂亮!
このサイトのすべてのリソースはネチズンによって提供されたもの、または主要なダウンロード サイトによって転載されたものです。ソフトウェアの整合性をご自身で確認してください。このサイトのすべてのリソースは学習の参考のみを目的としています。商業目的で使用しないでください。そうでない場合は、すべての結果に対して責任を負うことになります。侵害がある場合は、削除するためにご連絡ください。連絡先情報: admin@php.cn
関連記事
![ハードコードされた値を使用せずにレスポンシブ CSS3 マーキー効果を作成するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173343433184557.jpg)
06 Dec 2024
CSS3 のマーキー効果: テキスト適応のための特定の値の回避 CSS3 アニメーションでは、多くの場合、テキスト...
![CSS3 変換のみを使用してホバー時の画像ズーム効果を作成するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173275045596399.jpg)
28 Nov 2024
CSS3 Transform によるホバー時の CSS 画像ズーム効果画像をズームインするホバー効果の作成は、CSS3 の...
![CSS3 でフェードアウト効果を実現する方法: キーフレーム アニメーションとトランジション?](https://img.php.cn/upload/article/001/246/273/172999356410252.jpg)
27 Oct 2024
CSS3 トランジション - フェードアウト効果 CSS3 では、キーフレーム アニメーションを使用してフェードアウト効果を実現できます。しかし、それは...
![CSS3 トランジションを使用してフェードアウト効果を作成するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173005809243988.jpg)
28 Oct 2024
CSS3 トランジション: フェードアウト効果の実現 CSS3 では、トランジションは動的な視覚効果を作成するための強力なツールを提供します。その効果の中には…
![ストリップタグ以外の HTML 特殊文字コードを効果的に削除するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/172925592310697.jpg)
18 Oct 2024
効果的な HTML 特殊文字の削除:strip_tags を超えた拡張strip_tags は HTML タグを効果的に削除しますが、HTML 特殊文字コードが残る可能性があります。 「 」や「©」などのコードは、RSS フィード ファイルの保存を中断する可能性があります。
![テキストの長さを調整できる動的 CSS マーキーを作成するには?](https://img.php.cn/upload/article/001/246/273/173351353770213.jpg)
07 Dec 2024
適応可能なテキスト長を使用して動的なマーキー効果を作成する方法 CSS3 でマーキー効果を実現するにはアニメーションが必要ですが、特定の...
![CSS3 トランジションの開始と終了を検出するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173128764640584.jpg)
11 Nov 2024
CSS3 トランジション イベントCSS3 トランジションは、Web ページにアニメーションや効果をシームレスに追加する方法を提供します。ただし、効果的に制御するには...
![CSS3 @keyframes を使用したスライドアップ アニメーションが機能しないのはなぜですか?](https://img.php.cn/upload/article/001/246/273/173011965253077.jpg)
28 Oct 2024
CSS3 トランジション - フェードアウト効果 CSS3 を使用すると、フェードアウト効果を簡単に実装して、ユーザー エクスペリエンスを向上させることができます。ところが、もし遭遇したら…
![古い IE ブラウザで CSS3 効果を模倣するにはどうすればよいですか?](https://img.php.cn/upload/article/001/246/273/173009787162855.jpg)
28 Oct 2024
古い IE ブラウザで CSS3 効果の素晴らしさをエミュレートする CSS3 は Web デザインにスタイリッシュな効果を数多くもたらしますが、次のような従来のブラウザでは...
![See all articles](/static/imghw/down_right.png)
![](/static/imghw/taglogo.png)
ホットツール Tags
![](/static/imghw/taglogo.png)
Hot Tools
![CSS テキストがハート型のアニメーション特殊効果に結合されます](https://img.php.cn/upload/jscode/000/000/001/5a41aee69fa64854.png)
CSS テキストがハート型のアニメーション特殊効果に結合されます
CSS テキストがハート型のアニメーション特殊効果に結合されます
![CSS3 SVG表現 花アニメーション 特殊効果](https://img.php.cn/upload/jscode/000/000/001/58d8cebcc2691208.jpg)
CSS3 SVG表現 花アニメーション 特殊効果
SS3 SVG 告白フラワーアニメーション特殊効果は、バレンタインデーのアニメーション特殊効果です。
![CSS ショッピング モール Web サイトでは、左側のカテゴリのドロップダウン ナビゲーション メニュー コードが一般的に使用されます。](https://img.php.cn/upload/jscode/000/000/001/5a3db819dcdbc612.png)
CSS ショッピング モール Web サイトでは、左側のカテゴリのドロップダウン ナビゲーション メニュー コードが一般的に使用されます。
CSS ショッピング モール Web サイトでは、左側のカテゴリのドロップダウン ナビゲーション メニュー コードが一般的に使用されます。
![jQuery+CSS3 バレンタインデーの愛の特殊効果](https://img.php.cn/upload/jscode/000/000/001/58d8d3ea886c2698.jpg)
jQuery+CSS3 バレンタインデーの愛の特殊効果
jQuery+CSS3 バレンタインデーの愛の特殊効果は、バレンタインデーのぶら下がって揺れるハートのアニメーションの特殊効果です。
![CSS3 スプーンですくう もちむすび アニメーション 特殊効果](https://img.php.cn/upload/jscode/000/287/557/6209ad3adc2fc558.png)
CSS3 スプーンですくう もちむすび アニメーション 特殊効果
かわいいもちむすびの表情、もちむすびをすくうスプーンのアニメーション特撮
![](/static/imghw/taglogo.png)