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

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

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

<!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 の詳細な説明

推薦する

マークアップ言語 - リスト

標準化されたデザインソリューション - マークアップ言語とスタイルマニュアルWeb 標準ソリューショ...

MySQL インデックスがソートに与える影響の分析例

この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

MySQLオンラインDDL gh-ostの使用の概要

背景: DBA として、大規模なテーブルの DDL 変更のほとんどは、Percona の pt-on...

Tomcat を使用して Centos 環境に SpringBoot WAR パッケージをデプロイする

戦争パッケージを準備する1. 既存のSpringBootプロジェクトを準備し、pomに依存関係を追加...

vueの実践的な応用におけるvuexの永続性の詳細な説明

目次vuex 永続性要約するvuex 永続性vuex: ブラウザを更新すると、vuexの状態は初期状...

CSS 垂直センタリングの代替実装コードの詳細な説明(非従来型)

序文ご存知のとおり、「CSS で要素を垂直方向に中央揃えするにはどうすればよいか」という質問は、すで...

MySQLコンテナ間のレプリケーション構成例の詳細な説明

背景先週、会社で MySQL レプリケーションのトレーニングを受けたので、今週末は学んだことを実践す...

スタイルをより標準化するための CSS の書き方に関する 5 つのヒント

1. CSSをアルファベット順に並べるアルファベット順ではありません:コードをコピーコードは次のとお...

携帯電話に GreasyFork js スクリプトをインストールするチュートリアル

目次序文1. Iceraven ブラウザ (Firefox) (Android) 2. (アンドロイ...

MongoDBのパフォーマンスを向上させる方法

MongoDB は高性能なデータベースですが、使用していくうちにパフォーマンスの問題が発生することが...

Docker MQTT のインストールと使用のチュートリアル

MQTT の紹介MQTT (Message Queuing Telemetry Transport)...

MySQL の集計関数 count の使用法とパフォーマンスの最適化テクニック

この記事の環境はWindows 10、MySQLのバージョンは5.7.12-logです1. 基本的な...

div 要素に終了タグがないため、Web ページを開くことができません

最初は速度の問題だと思ったので、その後、すべての画像リンク リクエストをクロスサイト接続ではなくサイ...

Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法

最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...