この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 1. jsパズルとは何ですか?js で作られた小さなゲーム 2. 使用手順1. まずdivボックスを作成する <スタイル> div,本文{ マージン: 0; 高さ: 0; } #箱{ 幅: 800ピクセル; 高さ: 800ピクセル; 背景色: バーリーウッド; 位置: 相対的; } #ボックスdiv{ 幅: 200ピクセル; 高さ: 200px; 背景: url(./imgs/bg.jpg) 繰り返しなし; 位置: 絶対; } </スタイル> </head> <本文> <div id="box"></div> </本文> 2. jsを書く <スクリプト> // タグを取得します var box = document.getElementById("box"); var arrs = []; // ループして 16 個のオブジェクトを作成し、配列に追加します for(var i = 0; i < 4; i++){ (var j = 0; j < 4; j++){ var divNode = document.createElement("div") divNode.style.top = 200 * i + "px" divNode.style.left = 200 * j + "px" // オブジェクトを作成する var pox = { 左: 200* i、 トップ:200*j, } // 作成したオブジェクトを配列に追加します if( i !== 3 || j !== 3 ){ arrs.push(pox) }それ以外{ divNode.style.background = "なし"; divNode.className = "スペース" } ボックスの子要素を追加します。 } } コンソールにログ出力します。 // オブジェクトをランダムに抽出する for(var i = 0; i < 15; i++){ var ranNum = parseInt(Math.random() * (15 - i)) var x = arrs[ranNum].left; var y = arrs[ranNum].top; box.children[i].style.backgroundPosition = - x + "px " + - y + "px"; arrs.splice(ranNum,1); } //キーボードイベント document.onkeyup = function(event) { // 押されたキーを取得します var key = event.keyCode // (キー == 38) の場合 { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top (var i = 0; i < 16; i++) の場合 { parseInt(box.children[i].style.top) == parseInt(y) - 200 && parseInt(box.children[i].style.left) == parseInt(x) の場合 ボックス.children[i].style.top = y box.querySelector(".space").style.top = parseInt(y) - 200 + "px" } } // 次へ}else if (key == 40) { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top // すべての小さなdivを走査し、空白の上にあるものを見つけてyに代入します (var i = 0; i < 16; i++){ parseInt(box.children[i].style.top) == parseInt(y) + 200 && parseInt(box.children[i].style.left) == parseInt(x) の場合 { ボックス.children[i].style.top = y box.querySelector(".space").style.top = parseInt(y) + 200 + "px" } } // 左 }else if (key = 38) { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top (var i = 0; i < 16; i++) の場合 { parseInt(box.children[i].style.left) == parseInt(x) - 200 && parseInt(box.children[i].style.top) == parseInt(y)) { box.children[i].style.left = x box.querySelector(".space").style.left = parseInt(x) - 200 + "px" } } // 正しい }else if (key = 39) { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top (var i = 0; i < 16; i++) の場合 { parseInt(box.children[i].style.left) == parseInt(x) + 200 && parseInt(box.children[i].style.top) == parseInt(y) の場合 box.children[i].style.left = x box.querySelector(".space").style.left = parseInt(x) + 200 + "px" } } } } </スクリプト> レンダリング レンダリング完了 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: nginx ssl を設定して https アクセスを実装する手順 (初心者向け)
>>: Mysql のいくつかの複雑な SQL ステートメント (重複行のクエリと削除)
ウェブサイトを作成するユーザーの多くが、このような問題に遭遇すると思います。Chrome のデフォル...
ゴミ箱は Linux ユーザー、Windows ユーザー、Mac ユーザーにとって非常に一般的なので...
方法1: </html>の後に次のコードを追加してください。コードをコピーコードは次のと...
シリアル化の実装InnoDB は 2 つの方法でシリアル化を実装します。まず、SELECT 文が明示...
適用シナリオ: iframe ページにスクロール バーがなく、親ウィンドウにスクロール バーが表示さ...
VMwareaのインストールプロセスは説明しませんが、主にwin7イメージをロードする方法を説明しま...
この記事では主に、すべてのコンテナを削除する Docker stop/remove を紹介し、皆さん...
<br />まずアイデアを考え、次にスケッチを描き、次にマウスでスケッチし、最後にフラッ...
目次1.まずネットワークカードの設定ディレクトリに入る2. ifcfg-ens33ネットワークカード...
解決すべき問題主にコンポーネント間のクロスレベル通信用なぜディスパッチとブロードキャストを自分で実装...
環境: 10.12 の新機能Python 3.6 MySQL 5.7.25 の場合ジャンゴ 2.2....
目次1. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...
ウェブページを作成するときに、フォームを挿入した後、フォームの上下に空白行が表示されることがよくあり...
前回の記事では、MySQL の置換関数 (Replace) とセグメンテーション関数 (SubStr...