キャンバスをベースにした超クールな水光効果を実現

キャンバスをベースにした超クールな水光効果を実現

この記事の例では、キャンバスをベースにした超クールな水の光の効果を実装するための具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

<!DOCTYPE html>  
<html>  
<ヘッド>  
    <メタ文字セット="UTF-8">  
    <title>キャンバスをベースにした超クールな水の光の効果</title>  
    <スタイル>
        *{
            マージン: 0;
            パディング: 0;
        }
        キャンバス{
            境界線: 1px 実線の赤;
            幅: 100%;
            高さ: 100%;
        }
    </スタイル>
</head>  
<body onselectstart="falseを返す">  
        <!-- キャンバス タグを追加し、赤い枠線を追加して、ページ上で見やすくします -->  
        <キャンバスid="myCanvas">  
        お使いのブラウザはキャンバス タグをサポートしていません。   
        </キャンバス>
<スクリプト src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></スクリプト>
<script type="text/javascript">
    var キャンバス = document.getElementById("myCanvas");  
    var ctx = canvas.getContext("2d");    
    var cx1 = キャンバス.offsetLeft;
    var cy1 = キャンバス.offsetTop;
    var cx2 = canvas.offsetLeft + canvas.offsetWidth;
    var cy2 = canvas.offsetTop + canvas.offsetHeight;
    bbox を canvas.getBoundingClientRect() に追加します。  
    $(関数(){
        var direction = 'right'、x = y = right_count = down_count = left_count = up_count = 0;
        ctx.beginPath(); //新しい描画パスを開始します ctx.moveTo(x, y); //線の開始点の座標を(0,0)として定義します
        setInterval(関数(){
            ctx.strokeStyle = '#'+Math.floor(Math.random()*16777215).toString(16);
            スイッチ(方向){
                ケース 'right':
                    if(x >= 300 - 右カウント){
                        方向 = '下';    
                        右カウント++;
                    }それ以外{
                        ++;
                    }
                    壊す;
                ケース「ダウン」:
                    if(y >= 150 - ダウンカウント){
                        方向 = '左';
                        ダウンカウント++;
                    }それ以外{
                        y++;
                    }
                    壊す;
                ケース「左」:
                    if(x <= 左カウント){
                        方向 = '上';
                        左_count++;
                    }それ以外{
                        x--;
                    }
                    壊す;
                ケース「上」:
                    y <= up_count + 1の場合{
                        方向 = '右';
                        アップカウント++;
                    }それ以外{
                        y--;
                    }
                    壊す;
            }
            ctx.lineTo(x, y);
            ctx.lineCap = 'round';
            ctx.lineWidth = 1; //線分の幅を設定します ctx.stroke(); //座標点シーケンスのパスに沿って直線を描画します }, 1);
    }) 
</スクリプト>  
</本文>  
</html>

エフェクトのスクリーンショット:

走行灯は常に点灯しており、主にここを周回しています。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • キャンバスがサーチライト効果を実現

<<:  MySQL における識別子の大文字と小文字の区別の問題の詳細な分析

>>:  Linux サービス管理の 2 つの方法、service と systemctl の詳細な説明

推薦する

MySQL で大文字と小文字を区別しないように設定する方法

mysql は大文字と小文字を区別しないように設定されていますウィンドウズmysqlがインストールさ...

MySQL 権限昇格のさまざまな形態の概要

目次1. Webshel​​lを書く出力ファイルにシェルを書き込むログファイル書き込みシェル2. U...

CentOS7 64 ビットでの MySQL 5.7 のインストールと設定のチュートリアル

インストール環境: CentOS7 64ビットMINI版、MySQL5.7をインストール1. YUM...

MySQL の主キーがクエリを高速化するために数値を使用するか UUID を使用するかについての簡単な分析

実際の開発では、MySQL の主キーは重複できず、主キーが自動的にインクリメントされることがあります...

CSS3で背景画像にカラーマスクを追加する方法

以前、開発中に背景レイヤーにカラーマスクを追加する必要のあるプロジェクトに遭遇しました。ここでは、背...

トップナビゲーションバーメニューを作成するためのHTML+CSS

ナビゲーションバーの作成:技術要件: CS HTMLタグ達成目的:ナビゲーションバーメニューの作成コ...

Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

自動プロジェクト展開は大企業やユニコーン企業でよく使用され、手動でプロジェクトを展開するよりも効率的...

Linuxの基本コマンドmktempの詳しい説明

mptemp は安全な方法で一時ファイルまたはディレクトリを作成します。このコマンドの適用範囲: R...

このリファレンスとJavaScriptのカスタムプロパティの詳細な説明

目次1. このキーワード2. カスタム属性3. 包括的なケース1:タブの実装付録要約する1. このキ...

ウェブ音楽プレーヤーを実現する js

この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...

Nginx+FastDFSでイメージサーバーを構築

設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...

MySQL テーブル結合クエリでグループ化と重複排除を実装する例

目次ビジネスロジックデータテーブル構造クエリロジックSQL スクリプトスクリプトの説明ビジネスロジッ...

CSS3 で less のテキストの長い影を実装する

この記事では主に、CSS3 LESS で長いテキストの影を実装する方法を紹介し、皆さんと共有します。...

JavaScript関数におけるこのポイントの問題の詳細な説明

このキーワードどのオブジェクトが関数を呼び出しますか? また、関数内の this はどのオブジェクト...

HTML テーブルタグチュートリアル (20): 行の背景色属性 BGCOLOR

BGCOLOR 属性を使用して、行の背景色を設定できます。基本的な構文<TR BGcolor...