processingプログラミング作成をしています。
mouseファンクション(mouseClickedとか)やkeyファンクション(keyPressed)などのファンクションをつかったときに、クリックやkeyをたたいたら次々変わっていくみたいなプログラムを作成したいんですが、教えてください。
いまは画面を4等分にし、mouseClickedををつかったらランダムに選ばれたスペースを赤く塗り、もう一回mouseをクリックしたら、その赤く塗られたのは消えて、次のまたランダムに選ばれたスペースへと移動する。。それを何回もやるというプログラミングにしたいです。
sizeは600,600でそれぞれのrectは
rect(0,0,300,300)
rect(300,0,600,300)
rect(0,600,300,300)
rect(600,600,300,300)
で区切ってます。ずっと時間かけてやってますが、これをどうやってrandomファンクションにし、それをランダムに選ばれたスペースをマウスクリックしたら赤く塗られるようにするかがもっていくかがどうしてもわかりません。
あと、もう一回クリックしたら前にクリックした場所が消えるというのもわかりません。
これが今までに書いたプログラムです。
いまはif elseをつかっています。
よろしくお願いします。
void setup()
{
size(600,600);
strokeWeight(2);
background(255);
line(0,width/2,600,width/2);
line(height/2,0,height/2,600);
}
void draw()
{
fill(255,0,0);
}
void mouseClicked()
{
if( mouseX <= width/2)
{
fill(255,0,0);
rect(0,0,width/2,height/2);
}
else
{
rect(width/2,0,300,300);
fill(255,0,0);
}
if (mouseX > height/2)
{
rect(0,width/2,height/2,height);
fill(255,0,0);
}
else
{
rect(width/2,height/2,width,height);
fill(255,0,0);
}
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは、みっちょです。
void setup()
{
size(600, 600);
strokeWeight(2);
background(255);
for (int i=0; i<2; i=i+1) {
for (int j=0; j<2; j=j+1) {
rect(i*width/2, j*width/2, (i+1)*width/2, (j+1)*height/2);
}
}
}
void draw()
{
}
void mouseClicked()
{
fill(255, 255, 255);
for (int i=0; i<2; i=i+1) {
for (int j=0; j<2; j=j+1) {
rect(i*width/2, j*width/2, (i+1)*width/2, (j+1)*height/2);
}
}
int x = int(random(2));
int y = int(random(2));
fill(255, 0, 0);
rect(x*width/2, y*width/2, (x+1)*width/2, (y+1)*height/2);
}
こんな感じだとif else無しでいけますね。
いかがでしょうか?
No.1
- 回答日時:
こんにちは。
みっちょです。processing自体を使ったことがなかったのですが、ご質問の内容を見てみてなんだか面白そうなので使ってみたところ、言われているような事ができました。
processingというものを初めて起動して10分間くらいで仕上げたプログラムなので、何か本当はイケない書き方などやってるかもしれません。とりあえずこんな感じでどうでしょう?という感じで☆
int i;
void setup()
{
size(600,600);
strokeWeight(2);
background(255);
rect(0,0,width/2,height/2);
rect(width/2,0,300,300);
rect(0,width/2,height/2,height);
rect(width/2,height/2,width,height);
}
void draw()
{
fill(255,0,0);
}
void mouseClicked()
{
fill(255,255,255);
rect(0,0,width/2,height/2);
rect(width/2,0,300,300);
rect(0,width/2,height/2,height);
rect(width/2,height/2,width,height);
int r = int(random(4));
fill(255,0,0);
if(r==0)
{
rect(0,0,width/2,height/2);
}
if(r==1)
{
rect(width/2,0,width,height/2);
}
if(r==2)
{
rect(0,width/2,width/2,height);
}
if(r==3)
{
rect(width/2,height/2,width,height);
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLのWHEREで全てを質問する方法
-
htmlでHP作成・1つのペー...
-
町内会での不倫
-
<a href="#" …>の意味を教えて...
-
SCRIPT5007: 未定義または NULL...
-
bodyにidをつける理由は何ですか?
-
function の return 値を表示し...
-
小さなウインドウ開いて自動閉...
-
日替わりメッセージの表示
-
ウインドウを縮小しても文字を...
-
html タグの意味
-
キーを押している間の時間を計...
-
複数のJavascriptを1つのscrip...
-
マウスオーバーでリンク先サム...
-
リンクをクリックすると文字が...
-
初心者です。あまりに初歩的な...
-
複数のiframeの読み込みについて
-
子フレームの自動リロードは可...
-
リンクに飛ばない・・・
-
CSSの他ブラウザでの崩れの対処...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのWHEREで全てを質問する方法
-
window.openでフルスクリーン表...
-
JAVAでリンクボタンを作成して...
-
子画面で画像を表示したい
-
window.openの後にエンコードを...
-
javascriptでのポップアップウ...
-
IF文で該当の処理を通らない
-
町内会での不倫
-
Canvasを使って描画して面積取得
-
新しいウィンドゥを最大化で立...
-
htmlファイルを開いた時の画面...
-
外部からのjs呼び出しについて。
-
文字をクリックすると 小窓が開く
-
ホームページビルダーで小さな窓
-
JavaScriptで新しいウインドウ...
-
サブウインドウの表示方法
-
モニタ解像度対応スクリプトに...
-
小窓を表示する時に、必ず右上...
-
あなたのXAMPPのdashboard内のj...
-
ウインドウサイズを固定するタ...
おすすめ情報