JSミニゲームSpeed Run_javascriptスキルのソースコードの詳細説明
この記事の例は、JS ミニゲームの高速実行ソース コードを説明しており、参考のために皆さんと共有されています。詳細は以下の通りです。
ゲームを実行すると、次のようになります:
コードの Javascript 部分は次のとおりです:
/** 极速快跑 * Author: fdipzone * Date: 2012-07-15 * Ver: 1.0 */ var gameimg = ['images/start.png', 'images/start_over.png', 'images/go.png', 'images/go_over.png', 'images/running.gif', 'images/run_start1.gif', 'images/run_start2.gif', 'images/run_start3.gif']; var speed_obj = new SpeedClass(); window.onload = function(){ var callback = function(){ speed_obj.init(); } img_preload(gameimg, callback); } // Speed Class function SpeedClass(){ this.levelset = [8,5,8,12]; // 难度参数 this.playerlist = null; // 选手列表 this.player = 0; // 选中的选手 this.level = 2; // 难度 this.lock = 0; // 锁定 this.isstart = 0; // 是否开始 this.isover = 0; // 是否结束 } // init SpeedClass.prototype.init = function(){ this.reset(); this.create_player(); this.create_event(); } // reset SpeedClass.prototype.reset = function(){ this.player = 0; this.level = $('level').value; // level this.playerlist = $_tag('li', 'playerlist'); for(var i=0; i<this.playerlist.length; i++){ this.playerlist[i].className = ''; } disp('start_btn', 'show', 'start_btn'); disp('go_btn', 'hide', 'go_btn'); this.lock = 0; // unlock this.isstart = 0; // unstart this.isover = 0; // unover } // create player SpeedClass.prototype.create_player = function(){ var runway = []; var playerlist = []; for(var i=1; i<=8; i++){ runway[i] = '<li><div id="player' + (9-i) + '" class="run_status1"></div></li>'; playerlist[i] = '<li>' + i + '</li>'; } $('runway').innerHTML = runway.join(''); $('playerlist').innerHTML = playerlist.join(''); runway = null; playerlist = null; } // create event SpeedClass.prototype.create_event = function(){ var self = this; this.playerlist = $_tag('li', 'playerlist'); for(var i=0; i<this.playerlist.length; i++){ this.playerlist[i].onmouseover = function(){ if(this.className!='on'){ this.className = 'over'; } } this.playerlist[i].onmouseout = function(){ if(this.className!='on'){ this.className = ''; } } this.playerlist[i].onclick = function(o,c){ return function(){ if(self.lock==0){ o.playerlist[c].className = 'on'; if(o.player!=0 && o.player!=c+1){ // 不等於0且不等於自己 o.playerlist[o.player-1].className = ''; } o.player = c + 1; } } }(self, i); } $('start_btn').onmouseover = function(){ this.className = 'start_over_btn'; } $('start_btn').onmouseout = function(){ this.className = 'start_btn'; } $('start_btn').onclick = function(){ if(self.player==0){ return alert('请选择要支持的选手'); }else{ self.lock = 1; // locked disp('start_btn','hide'); disp('go_btn','show'); for(var i=1; i<=8; i++){ self.start(i); } } } $('go_btn').onmouseover = function(){ this.className = 'go_over_btn'; } $('go_btn').onmouseout = function(){ this.className = 'go_btn'; } $('go_btn').onclick = function(){ self.go(); } } // start game SpeedClass.prototype.start = function(c){ var o = $('player' + c); var step = 1; var self = this; var exert = 0; o.style.marginLeft = '62px'; // init var et = setInterval(function(){ if(step<4){ // step 1-3 is ready o.className = 'run_status' + step; }else{ // run if(o.className!='running'){ o.className = 'running'; } // start can go if(self.isstart==0){ self.isstart = 1; } // 已有一名选手到达终点 if(self.isover==1){ clearInterval(et); }else{ if(self.player!=c){ // 其他选手 exert = Math.floor(Math.random()* self.levelset[self.level])+3; // 根据level调整 } o.style.marginLeft = parseInt(o.style.marginLeft) + Math.floor(Math.random()*8)+4 + exert + 'px'; // 到达终点 if(parseInt(o.style.marginLeft)>=745){ clearInterval(et); self.isover = 1; self.gameover(o.id); } } } step ++; }, 350) } // go SpeedClass.prototype.go = function(){ if(this.isstart==1 && this.isover==0){ var o = $('player' + this.player); var exert = Math.floor(Math.random()*3)+2; // 2-5 o.style.marginLeft = parseInt(o.style.marginLeft) + exert + 'px'; } return false; } // gameover SpeedClass.prototype.gameover = function(id){ id = id.replace('player',''); var self = this; var msg = ''; if(id==this.player){ msg = "恭喜你,你支持的选手获得胜利\n\n"; }else{ msg = "很遗憾,你支持的选手没有获得胜利,获胜的是" + id + "号选 \n"; } if(confirm(msg + '是否重新开始?')==true){ setTimeout(function(){ self.init(); },1000); }else{ return false; } } /** common function */ // get document.getElementBy(id) function $(id){ this.id = id; return document.getElementById(id); } // get document.getElementsByTagName function $_tag(name, id){ if(typeof(id)!='undefined'){ return $(id).getElementsByTagName(name); }else{ return document.getElementsByTagName(name); } } /* div show and hide * @param id dom id * @param handle show or hide * @param classname */ function disp(id, handle, classname){ if(handle=='show'){ $(id).style.display = 'block'; }else{ $(id).style.display = 'none'; } if(typeof(classname)!='undefined'){ $(id).className = classname; } } /* img preload * @param img 要加载的图片数组 * @param callback 图片加载成功后回调方法 */ function img_preload(img, callback){ var onload_img = 0; var tmp_img = []; for(var i=0,imgnum=img.length; i<imgnum; i++){ tmp_img[i] = new Image(); tmp_img[i].src = img[i]; if(tmp_img[i].complete){ onload_img ++; }else{ tmp_img[i].onload = function(){ onload_img ++; } } } var et = setInterval( function(){ if(onload_img==img.length){ // 定时器,判断图片完全加载后调用callback clearInterval(et); callback(); } },200); }
完全なサンプルコードについては、ここをクリックしてくださいこのサイトからダウンロードしてください。
この記事で説明されている内容は、皆さんの JavaScript ゲーム設計にとって一定の参考になると思います。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JS と Baidu Map を使用してマップ パン機能を実装する方法 Baidu Map は広く使用されている地図サービス プラットフォームで、Web 開発で地理情報、位置情報、その他の機能を表示するためによく使用されます。この記事では、JS と Baidu Map API を使用してマップ パン機能を実装する方法と、具体的なコード例を紹介します。 1. 準備 Baidu Map API を使用する前に、Baidu Map Open Platform (http://lbsyun.baidu.com/) で開発者アカウントを申請し、アプリケーションを作成する必要があります。作成完了

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

win10 オペレーティング システムを使用している場合、古いバージョンの組み込みゲーム マインスイーパーが win10 アップデート後も保存されているかどうかを知りたいのですが、編集者が知っている限り、ストアでダウンロードしてインストールできます。ストアにあるとおり、「microsoftminesweeter」を検索するだけです。エディターで具体的な手順を見てみましょう~ Windows 10 用のマインスイーパー ゲームはありますか? 1. まず、Win10 の [スタート] メニューを開き、 をクリックします。次に、検索して「検索」をクリックします。 2. 最初のものをクリックします。 3. 次に、Microsoft アカウント、つまり Microsoft アカウントを入力する必要がある場合があります。 Microsoft アカウントをお持ちでない場合は、インストールすると、登録を求めるメッセージが表示されます。アカウントのパスワードを入力し、「次へ」をクリックします。 4.ダウンロードを開始します

PHP と JS を使用して株のローソク足チャートを作成する方法。株のローソク足チャートは、株式市場で一般的なテクニカル分析グラフィックです。始値、終値、最高値、株価などのデータを描画することで、投資家が株式をより直観的に理解するのに役立ちます。株価の最低価格、価格変動。この記事では、PHP と JS を使用して株価のローソク足チャートを作成する方法を、具体的なコード例とともに説明します。 1. 準備 開始する前に、次の環境を準備する必要があります。 1. PHP を実行するサーバー 2. HTML5 および Canvas をサポートするブラウザー 3

株式分析に必須のツール: PHP および JS でローソク足チャートを描画する手順を学びます。特定のコード例が必要です。インターネットとテクノロジーの急速な発展に伴い、株式取引は多くの投資家にとって重要な方法の 1 つになりました。株価分析は投資家の意思決定の重要な部分であり、ローソク足チャートはテクニカル分析で広く使用されています。 PHP と JS を使用してローソク足チャートを描画する方法を学ぶと、投資家がより適切な意思決定を行うのに役立つ、より直感的な情報が得られます。ローソク足チャートとは、株価をローソク足の形で表示するテクニカルチャートです。株価を示しています

JS と Baidu Maps を使用してマップ クリック イベント処理を実装する方法の概要: Web 開発では、地理的位置と地理情報を表示するためにマップ関数を使用することが必要になることがよくあります。マップ上のクリック イベント処理は、マップ機能の一般的に使用される重要な部分です。この記事では、JS と Baidu Map API を使用して地図のクリック イベント処理機能を実装する方法と、具体的なコード例を紹介します。手順: Baidu Map の API ファイルをインポートします。まず、Baidu Map API のファイルを HTML ファイルにインポートします。これは、次のコードによって実現できます。

JS と Baidu Maps を使用してマップ ヒート マップ機能を実装する方法 はじめに: インターネットとモバイル デバイスの急速な発展に伴い、マップは一般的なアプリケーション シナリオになりました。視覚的な表示方法として、ヒート マップはデータの分布をより直観的に理解するのに役立ちます。この記事では、JS と Baidu Map API を使用してマップ ヒート マップ機能を実装する方法と、具体的なコード例を紹介します。準備作業: 開始する前に、次の項目を準備する必要があります: Baidu 開発者アカウント、アプリケーションの作成、対応する AP の取得

Google Chromeでミニゲームをプレイするにはどうすればよいですか? Google Chrome には人間性を考慮して設計された機能がたくさんあり、さまざまな楽しみが得られます。 Google Chrome には、非常に興味深いイースター エッグ ゲーム、つまり Little Dinosaur Game があります。多くの友人がこのゲームをとても気に入っていますが、プレイするためのトリガー方法がわかりません。エディターが以下で紹介します。Dinosaurチュートリアルに入るミニゲーム。 Google Chrome でミニゲームをプレイする方法 方法 1: [コンピューターがネットワークから切断されました] コンピューターが有線ネットワークを使用している場合は、ネットワーク ケーブルを取り外してください。コンピューターがワイヤレス ネットワークを使用している場合は、ワイヤレス ネットワーク接続をクリックして切断してください。コンピューターの右下隅にあります。 ② パソコンがインターネットに接続されていない状態で、Google Chrome を開くと Google Browse が表示されます。
