前提・実現したいこと
javascriptで図を作るシステムを作っています。
canvasのbeginpathで多角形を作るシステムです。
ボタンを押したらtextboxがその都度出て、そこに座標を入力し書くボタンを押すと、その座標の多角形を生み出すというものを作りたいのですが、lineToをボタンを押すたびに増やし、押したボタンの数だけ頂点が増えるというシステムをどうやって作るのかが分かりません。
発生している問題・エラーメッセージ
lineToの書き加え
エラーメッセージ
特になし
該当のソースコード
--Javascript--
JavaScript
1<script> 2 let canvas 3=document.getElementById("canvas"); 4 let context = canvas.getContext("2d"); 5 let add = ""; 6 let addd = 1; 7 8 function addtext(){ 9 addd++; 10 a = addd; 11 b = addd; 12 console.log("a"); 13 console.log(a); 14 console.log(b); 15 document.getElementById("span").innerHTML += 'x,y = <input type="text" id = "x' + a + '">,<input type="text" id = "y' + b + '"><br>'; 16 } 17 function aaaaa(){ 18 console.log(document.getElementById('x' + addd).value); 19 console.log(document.getElementById('y' + addd).value); 20 console.log(addd); 21 context.beginPath(); 22 context.moveTo(parseInt(document.getElementById("x1").value),parseInt(document.getElementById("y1").value)); 23 for (let i = 1; i < addd+1; i++) { 24 context.lineTo(parseInt(document.getElementById('x' + i).value),parseInt(document.getElementById('y' + i).value)); 25 } 26 context.closePath(); 27 context.fillStyle = "#00ccFF"; 28 context.fill(); 29 }
試したこと
for文の繰り返しも行いましたが、たぶんcanvasの仕様の関係上不可能だったと思われます。
補足情報(FW/ツールのバージョンなど)
特になし