Processingを使ってミュラーリヤー錯視の実験に使うプログラムを作っています。
プログラムの内容は以下のとおりです。
- スタートボタンを押したら画面が表示され、「<->-<」のような線が描画されます。
- 真ん中から、右側の線はfキー、jキーで長さが調節できるようになっています。
- スペースキーを押したら線の一番右端のその地点のx座標がCSVファイルに出力され、新しい線が描画されます。
- これを10回繰り返し、10回終わったら、プログラムを閉じます。
上記のようなプログラムになるように作ったつもりだったのですが、
実際に起動してみると、ランダムに線の一部が消えたものが表示されるだけで、fキー、jキー、スペースキーも反応しませんでした。
エラーも出ないのでどこが間違っているのかわかりません。
宜しくお願いします。
環境は「processing-3.5.4-windows64」です。
スクリプトは以下のとおりです。
PrintWriter file; int k = 1; void setup(){ size(800,400); file = createWriter("tyouseihou.csv");// CSVファイル } void draw(){ do{ //繰り返し処理(do-while文) background(255); int R = int(random(410,620)); int x1 = R; line(200,height/2,400,height/2); //横線 line(200,height/2,252,height/2+30); //矢羽 line(200,height/2,252,height/2-30); line(400,height/2,348,height/2-30); line(400,height/2,348,height/2+30); line(400,height/2,x1,height/2); line(x1,height/2,x1+52,height/2-30); line(x1,height/2,x1+52,height/2+30); if(keyPressed){ if(key == 'f'){ //fキー x1 -= 1; } else if(key == 'j'){ //jキー x1 += 1; } else if(key == ' '){ //スペースキー k += 1; file.println(x1-400); //ファイル出力 if(k == 10){ //10回繰り返したらファイルを閉じて終了 file.flush(); file.close(); exit(); } } } strokeWeight(5); } while(k < 10); //10回になるまで繰り返す }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/24 22:49
2020/05/31 04:11
2020/05/31 04:36
2020/05/31 04:42