この記事の例では、マウスに従ってボールを動かすjsの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 <!DOCTYPE html> <html> <ヘッド> <メタ文字セット="utf-8"> <タイトル></タイトル> <スタイル> キャンバス{ 境界線: 1px実線 #000; } </スタイル> </head> <本文> <キャンバスid="mycanvas" 幅="1500" 高さ="800"></キャンバス> <スクリプト> // キャンバスを作成します var canvas = document.getElementById('mycanvas'); var ctx = canvas.getContext('2d'); // ボールクラス関数 Ball(x, y) { this.x = x; y = y; // 初期半径 this.r = parseInt(Math.random() * 50) + 10; this.step = parseInt(Math.random() * 5) + 0.1; // ランダムな色を設定します this.color = getRandom(); // ランダムな方向を設定します this.dx = parseInt(Math.random() * 10) - 5; this.dy = parseInt(Math.random() * 10) - 5; // オブジェクトを配列に読み込みます ballArr.push(this); } // 配列からオブジェクトを削除します。Ball.prototype.remove = function() { (var i = 0; i < ballArr.length; i++) の場合 { もし(ballArr[i] == this){ ボールArr.splice(i, 1); } } } // データを更新する Ball.prototype.update = function() { // データを更新 this.x += this.dx; this.y += this.dy; this.r -= this.step; // 配列内のボールをクリアする if (this.r <= 0) { これを削除してください。 } // 境界を超えた場合、ボールは動き続けます if (this.x < 0) { 1500 を越える文字列は無視されます。 this.color = getRandom(); } そうでない場合(this.x > 1500){ 0 を返します。 this.color = getRandom(); } それ以外の場合 (this.y < 0) { y = 800; となります。 this.color = getRandom(); } そうでない場合(this.y > 800){ y = 0; this.color = getRandom(); } } // ボールをレンダリングする Ball.prototype.render = function() { ctx.beginPath(); ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2, false); ctx.fillStyle = this.color; ctx.fill(); } // キャンバス DOM2 イベント canvas.addEventListener("mousemove", function(event) { 新しいボール(event.offsetX、event.offsetY); }); var ballArr = []; // アニメーションのレンダリングと更新のためのタイマー setInterval(function() { // アニメーション ロジック // 画面をクリア - 更新 - レンダリング ctx.clearRect(0, 0, canvas.width, canvas.height); // ボールを更新してレンダリングします for (var i = 0; i < ballArr.length; i++) { ballArr[i].update(); もし(ballArr[i]) { ballArr[i].render(); } } }, 30); // ランダムカラー関数 getRandom() { var allType = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f"; var allTypeArr = allType.split(","); var color = "#"; // 色の文字列を連結する for (var i = 0; i < 6; i++) { var random = parseInt(Math.random() * allTypeArr.length); 色 += allTypeArr[ランダム]; } 色を返します。 } </スクリプト> </本文> </html> 効果 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: innodb_flush_method 値メソッド (例の説明)
>>: FileZilla_Server:425 データ接続を開けない問題を解決する方法
目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...
ファイルとは何ですか?すべてのファイルは実際には文字列のストリームですが、適切な解析方法を使用すると...
ここに <input type="image"> がある場合、この画...
1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...
目次Vuex とは何ですか? Vuexの5つの特性vuex の State 機能とは何ですか? vu...
この記事では、水平傾斜棒グラフを実装するためのVueの具体的なコードを参考までに共有します。具体的な...
ここでは Ubuntu 16.04 システムを使用しています。 dockerを使用したインストールh...
目次関数フォーマットを即時実行関数を即座に実行する他の方法 – 式即時実行される関数はパラメータを取...
1. Yumのインストール yum でサブバージョンをインストール 2. 構成1. 倉庫を作る/ho...
序文プロジェクト要件: Dockeridea に Docker プラグインをインストールし、Dock...
「私たちは次の一連のモバイル製品を HTML5 で作成しています。」 「ええ、最近は多くの人が Ap...
HTMLで表を描くには、表タグを使用します。 trは行を意味しますtdは列を示すth はテーブ...
Windows システム向け MySQL インストール チュートリアルダウンロード1. https:...
目次Vuex は単一の状態ツリーを使用するため、すべてのアプリケーション状態が比較的大きなオブジェク...
1.ハードディスクを追加する2. パーティションの状態を確認します: fdisk -l 3. パーテ...