質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

2608閲覧

ゲームオーバーが出来ません

Kirito

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/06/15 07:55

###前提・実現したいこと
純粋なjsで特攻ゲームを作っていますが
###発生している問題・エラーメッセージ

当たり判定は入りますが、GAMEOVERメッセージが出ません

###該当のソースコード

HTML+JavaScript

1<DOCUTYPE html> 2<html><head> 3<meta charset="utf-8"> 4<style> 5<title>フライトゲーム</title> 6body{background:#ffffff;} 7#cvs{position:absolute;left:300px;top:50px;border:1px solid red} 8</style> 9</head> 10<body> 11 <body background="bg000.png"> 12<canvas id="cvs" width=1000 height=700> 13</canvas> 14<script> 15var cnvs=document.getElementById("cvs"); 16var cf=cnvs.getContext("2d"); 17var hi=new Image(); 18hi.src="hi.png"; 19var hiburn=new Image(); 20hiburn.src="hiburn.png"; 21 22var x=200;var y=100; 23var m=0; 24var vx=0;var vy=0; 25cf.fillStyle="grey"; 26cf.fillRect(10,650,900,50); 27cf.fillStyle="green"; 28cf.fillRect(10,10,900,30); 29cf.fillStyle="red"; 30timerBar=setInterval(timerRect,100); 31function timerRect(){m=m+3;cf.fillRect(10,10,10+m,30); 32if(m>890)gameOver();//if 33}//function 34planeMove=setInterval(ugoki,50); 35function ugoki(){x=x+vx;y=y+vy; 36 cf.drawImage(hi,x,y); 37if(y<50 || y>600 || x<0 || x>900)gameOver(); 38} 39function gameOver();{ 40 alert("天皇陛下、万歳(/・ω・)/"); 41clearInterval(timerBar); 42clearInterval(planeMove); 43 cf.drawImage(hiburn,x,y); 44cf.fillStyle="black";cf.font="100px serif"; 45cf.fillText("GAME OVER",100,300); 46} 47document.onkeydown=function(ddd){ 48var ke=ddd.keyCode; 49if(ke==38)vy=vy-1; 50if(ke==40)vy=vy+1; 51if(ke==37)vx=vx-1; 52if(ke==39)vx=vx+1; 53} 54</script> 55</body> 56</html> 57

###補足情報(言語/FW/ツール等のバージョンなど)
Google Chrome最新

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

冒頭の宣言<DOCUTYPE html>とかHTMLがおかしい部分もありますのでそこは修正して置いてください。

ゲームオーバー時の処理をしている関数ですが

javascript

1function gameOver();{

「;」が入っているので、呼び出した瞬間何もせずに終了しているのでは。

追記:
何もせず終了というかSyntaxError出ますね。
ブラウザのデベロッパーツール等のコンソールでエラーが出ていないか確認すると良いです。

投稿2017/06/15 08:08

編集2017/06/15 08:12
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kirito

2017/06/15 11:01

ありがとうございました!おかげでゲームオーバー処理が完成しました。フォローします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問