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

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

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

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

Q&A

解決済

1回答

233閲覧

JavaScript,createImageDataPressed is not defined

Kaede0902

総合スコア32

JavaScript

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

0グッド

0クリップ

投稿2018/09/06 17:32

編集2018/09/06 18:53

Uncaught ReferenceError: createImageDataPressed is not defined

at initGame (ex4_re.html:46) at canvasApp (ex4_re.html:38) at eventWindowLoaded (ex4_re.html:22)

javascript

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>ex4 re</title> 8 9<script> 10 11 window.addEventListener('load', eventWindowLoaded, false); 12 13 var Debugger = function(){}; 14 Debugger.log = function(message) { 15 try { 16 console.log(message); 17 } catch (exception) { 18 return; 19 } 20 } 21 function eventWindowLoaded() { 22 canvasApp(); 23 } 24 function canvasApp() { 25 var guesses = 0; 26 var message = "AからZ,推測ゲーム!高いかな低いかな、正解かなぁー?"; 27 var letters = [ "a","b","c","d","e","f","g","h","i","j","k", 28 "l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]; 29 var today = new Date(); 30 var letterToGuess = ""; 31 var highLow = ""; 32 var lettersGuessed; 33 var gameOver = false; 34 35 var canvas = document.getElementById("canvasOne"); 36 var ctx = canvas.getContext("2d"); 37 38 initGame(); 39 40 function initGame() { 41 var letterIndex = Math.floor(Math.random() * letters.length); 42 letterToGuess = letters[letterIndex]; 43 lettersGuessed = []; 44 window.addEventListener("keyup", eventKeyPressed, true); 45 var formElement = document.getElementById("createImageData"); 46 formElement.addEventListener('click', createImageDataPressed, false); 47 drawScreen(); 48 } 49 function eventKeyPressed(e) { 50 if (!gameOver) { 51 var letterPressed = String.fromCharCode(e.keyCode); 52 letterPressed = letterPressed.toLowerCase(); 53 guesses++; 54 lettersGuessed.push(letterPressed); 55 if (letterPressed == letterToGuess) { 56 gameOver = true; 57 } else { 58 letterIndex = letters.indexOf(letterToGuess); 59 guessIndex = letters.indexOf(letterPressed); 60 Debugger.log(guessIndex); 61 if (guessIndex < 0) { 62 highLow = "アルファベットを入力してください"; 63 } else if (guessIndex > letterIndex) { 64 highLow = "もっと小さいです"; 65 } else { 66 highLow = "もっと大きいです"; 67 } 68 } 69 drawScreen(); 70 71 } 72 } 73 function drawScreen() { 74 ctx.fillStyle = "#ffffaa"; 75 ctx.fillRect(0, 0, 500 ,300); 76 ctx.strokeStyle ="#000000"; 77 ctx.strokeRect(5, 5, 490, 290); 78 ctx.textBaseLine = "top"; 79 ctx.fillStyle = "#000000"; 80 ctx.font = "10px _san"; 81 ctx.fillText(today, 150, 10); 82 ctx.fillStyle = "#ff0000"; 83 ctx.font = "14px _sans"; 84 ctx.fillText(message, 125, 30); 85 //guesses 86 ctx.fillStyle = "#109910"; 87 ctx.font = "16px _sans"; 88 ctx.fillText('試行回数:'+guesses, 215, 50); 89 90 //HighLow 91 ctx.fillStyle = "#000000"; 92 ctx.font = "16px _sans"; 93 ctx.fillText("正解との差分:" + highLow, 150, 125); 94 95 // Letters Guessed 96 ctx.fillStyle = "#ff0000"; 97 ctx.font = "16px _sans"; 98 ctx.fillText("推測済み:" + 99 lettersGuessed.toString(), 10, 260); 100 if (gameOver) { 101 ctx.fillStyle = "#ff0000"; 102 ctx.font = "40px _sans"; 103 ctx.fillText = ("正解です!オメデトウ!", 150,180); 104 } 105 function createImageDataPressed(e) { 106 window.open(canvas.toDataURL(), 107 "canvasImage", 108 "left = 0, top = 0, width =" + canvas.width + 109 ",height = "+ canvas.height + 110 ",toolbar = 0, resizable = 0"); 111 } 112 113 } 114 } 115 116 117</script> 118</head> 119<body> 120 <div style="position:absolute; top:50px; left:50px"> 121 <canvas id="canvasOne" width="500" height="300">NO canvas</canvas> 122 123 <form> 124 <input type="button" id="createImageData" 125 value="Export Canvas Image"> 126 </form> 127</div> 128</body> 129</html> 130 131

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

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

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

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

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

guest

回答1

0

自己解決

function drawScreen()のなかに
function createImageDataPressed(e) が入っていました。

しかし、エラーは治っても未だレイアウトがおかしいです...

投稿2018/09/06 17:45

Kaede0902

総合スコア32

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問