前提・実現したいこと
####javascriptで選択肢のあるノベルゲームを作りたい
Youtubeで**『10分でノベルゲームを作る』**という動画を見ながら、自分でも書いてみて理解したこと
①htmlで、表示される文字とボタンが作られる。
②verで宣言する
③function disp_scenarioでidに数字が代入されるたびに、表示される文字とボタンの文字と
、ボタンを押した時の行き先が変わる仕組みを作る
④function change_scenario(selectno)は、onclickで動く工場で
(何をしているかはよくわからない)
[リンク]10分でノベルゲームを作る JavaScript編
該当のソースコード
<html> <head> </head> <body><script> var id = 0;///idに0を代入、なので最初の画面でAAA、ボタンがA1A2A3が出る var goto = [];///空の配列、ここにgotoの配列が入る var data = [ [0,"AAA", 1, "A1", 2, "A2", 3, "A3"],//0///多次元配列 [1,"BBB", 4, "B1", 5, "B2", 6, "B3"],//1///idに入る [2,"CCC", 4, "C1", 5, "C2", 6, "C3"],//2 [3,"DDD", 4, "D1", 5, "D2", 6, "D3"]///3 ]; disp_scenario(); function disp_scenario(){////画面の描画用の関数 msg.innerHTML = data[id][1];//msg要素を削除した後、変数dataの内容をmsg要素に表示することができる document.forms.f1.choice1.value = data[id][3];//idが0の時A1 document.forms.f1.choice2.value = data[id][5];// A2 document.forms.f1.choice3.value = data[id][7];// A3 goto[0] = data[id][2];//idが0の時行き先1 goto[1] = data[id][4];// 行き先2(多次元配列) goto[2] = data[id][6];// 行き先3 } **/////どうやらここが見た目などを全部変えている工場っぽい↓////////////// function change_scenario(selectno){ id = goto[selectno]; disp_scenario(); }** </script> </body> </html> ### 以下の関数が何をしているのかが知りたい<div id="msg"></div> <form id="f1"> <input type="submit" value="xxx" id="choice1" onclick="change_scenario(0);return false;"><br> <input type="submit" value="xxx" id="choice2" onclick="change_scenario(1);return false;"><br> <input type="submit" value="xxx" id="choice3" onclick="change_scenario(2);return false;"><br> <!--クリックしたときにchange_scenarioに飛ぶ--> </form>
function change_scenario(selectno){ id = goto[selectno]; disp_scenario(); }
試したこと
①〜③までのコードの意味や効果は調べたり、数字を変えたり、言葉を変えたりして、自分なりに理解したつもりなのですが、④のfunction change_scenario(selectno)がシンプルすぎて、何をどう試せば理解できるのかさえ分かりません。
コードも決まったコードではなく、勝手に名前をつけたコードなので、検索しても引っ掛からず困ってしまいました。
知りたいことまとめ
onclickでfunction change_scenarioが動く、selectnoにはchange_scenario(0)の(0)が入るのか?goto[selectno]にも入って?そうすると何がどうなるんだろう‥。
ここがわからないと結局改造ができず、自分なりのゲームが作れないので、仕組みが知りたい。
もしここで質問するようなことでないとしたら申し訳ありません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/05 08:53
2021/06/05 09:05