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

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

新規登録して質問してみよう
ただいま回答率
85.46%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

2回答

371閲覧

コードを書き直したのですが、このコードに付け足して落下をさせる方法がわかりません。

退会済みユーザー

退会済みユーザー

総合スコア0

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

0クリップ

投稿2021/10/14 08:09

マウスをクリックしたら、ボールが縦に動く

int x, y, dx, dy;

void setup() {
size( 500, 300 );
x = width / 2; y = height / 2;
dx = 0; dy = 0;
}

void draw() {
background( 255 );
noStroke();
fill( 111, 183, 255 );
ellipse( x, y, 50, 50 );
x += dx; y += dy;
if( x <= 25 || x >= width - 25 ) dx = -dx;
if( y <= 25 || y >= height - 25 ) dy = -dy;
}

void mousePressed() {
switch( mouseButton ) {
case LEFT:
dy = 5;
break;
}
}
このコードに、落下させるコードを付け足したい場合、どう修正したらいいですか?

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

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

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

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

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

Zuishin

2021/10/14 08:11

重力加速度に従って下に動かせばいいんじゃないですかね。
退会済みユーザー

退会済みユーザー

2021/10/14 08:13

9.8とかでですか?その際は、どうやればいいですか?
BeatStar

2021/10/14 08:23 編集

(取り消し)
fana

2021/10/14 08:18 編集

落下とは何か? という話も無しに「落下させるには?」とかいう話をされても困る. このプログラムにおいて,何をしたら「落下させる」ことになるのか? そこをまず定義し,その定義を明示されたい.
fana

2021/10/14 08:30

そしたらもう退会ですよ. 意地悪で言ってるわけじゃなく,マジで「落下」とは何を達成すればよいのか? という問題定義が必要だと思うから尋ねたのだが. やり方次第では > x += dx; y += dy; > if( x <= 25 || x >= width - 25 ) dx = -dx; > if( y <= 25 || y >= height - 25 ) dy = -dy; とかいう既存処理とすぐに喧嘩することにもなり得るだろうし.
dodox86

2021/10/14 08:51

[先の質問より] > その際、どうしたらよろしいでしょうか? > 付け足したい場合、どう修正したらいいですか? 当人に自覚はないと思いますが、プログラミングへの向き合い方、姿勢がよく分かる文ですね。残念なことですが、超速の退会も理解できる成り行きです。
guest

回答2

0

java

1float x, y; 2float dx, dy; 3float vx, vy, ax, ay; 4float r = 10; 5float p; 6 7void setup() { 8 size( 500, 300 ); 9 x = width / 2; y = r * 2; // height / 2; 10 dx = 0; dy = 0; 11 ax = 0; ay = 0; 12 // frameRate(20); 13} 14 15void draw() { 16 background( 255 ); 17 noStroke(); 18 fill( 111, 183, 255 ); 19 ellipse( x, y, r * 2, r * 2 ); 20 dx += ax; dy += ay; 21 x += dx; y += dy; 22 23 if( x < r || x > width - r ) { 24 dx *= -p; 25 if (x < r) { 26 x = r; 27 } else if (x > width - r) { 28 x = width - r; 29 } 30 } 31 if( y < r || y > height - r ) { 32 dy *= -p; 33 if (y < r) { 34 y = r; 35 } else if (y > height - r ) { 36 y = height - r; 37 dx *= p; 38 } 39 } 40} 41 42void mousePressed() { 43 switch( mouseButton ) { 44 case LEFT: 45 ax = 0.0; ay = 0.2; 46 dx = 10; dy = 0; 47 p = 0.8; 48 break; 49 } 50} 51

実行例
イメージ説明

投稿2021/10/16 22:13

katoy

総合スコア22324

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

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

0

残念ながら、ここではコード作成依頼は受け付けておりません。

まずは、あなたなりにコードを書いてみましょう
そのうえで、わからないこと、うまくいかないことがあれば聞いてみてください

投稿2021/10/14 11:21

y_waiwai

総合スコア87800

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問