Discuss Scratch
- Discussion Forums
- » 日本語
- » 質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
- POCHIMARO
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
質問です。今作りかけているこのゲームなんですが、
「矢と的である青いネコが当たったら(触れたら)効果音を出して消える」というプログラムを組んでいます。
しかし、実際にテストした際、当たったように見えてもコードが実行されないことがあります。
スプライトの当たり判定や、この問題の改善方法について教えていただきたいです。
また、「クローンがすべて消えた時」のプログラム方法も知りたいです。
どうぞよろしくお願いします。
「矢と的である青いネコが当たったら(触れたら)効果音を出して消える」というプログラムを組んでいます。
しかし、実際にテストした際、当たったように見えてもコードが実行されないことがあります。
スプライトの当たり判定や、この問題の改善方法について教えていただきたいです。
また、「クローンがすべて消えた時」のプログラム方法も知りたいです。
どうぞよろしくお願いします。
Last edited by POCHIMARO (Nov. 20, 2023 12:21:46)
- karaagesankaku
-
Scratcher
67 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
質問です。aキーが押された時[押した v] を送るAキーを押している間ずっと送られちゃいます。一回だけ送りたいです。どうしたらいいでしょうか?
⚑ がクリックされたとき
[押した v] を [0] にする
ずっと
もし <<[a v] キーが押された> かつ <[0] = (押した)>> なら
[押した v] を送る
[押した v] を [1] にする
end
end
- kouryou118103
-
Scratcher
1000+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
変数を使わなくても
2個下の投稿で同じ動作をしないよって言われたんで、同じ動作の版も作りました。
ずっとでできます。
<[ v] キーが押された> まで待つ
[ v] を送る
<<[ v] キーが押された> ではない> まで待つ
end
2個下の投稿で同じ動作をしないよって言われたんで、同じ動作の版も作りました。
<[ v] キーが押された> まで待つ質問がどっちなのかわからない
[ v] を送る
Last edited by kouryou118103 (Nov. 20, 2023 13:16:46)
- 5-2kaito
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
質問です。
スタジオの活動通知が最近来なくなったこと(もしくは大幅に減少したこと)に対しての、STの公式見解はありますか?
スタジオの活動通知が最近来なくなったこと(もしくは大幅に減少したこと)に対しての、STの公式見解はありますか?
Last edited by 5-2kaito (Nov. 20, 2023 11:30:53)
- mi9g0n
-
Scratcher
1000+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
質問です
こちらなのですが
なぜかGOOD判定でもBADが増えてしまいます
ぜひ改善方法を教えていただけないでしょうか
#914にAge られていたので、#893を補足します。
原因については、こちらに提示しました。原因が分かればどのように対処すれば良いのかの案も浮かんでくるかもしれません。
また細かな仕様をいろいろと考えてみると、その実装方法がひらめいたり、そこからも改善方法を見いだすことができるかもしれません。
たとえば、ということでこんなときどうする?といったシチュエーションを以下に記してみます。他にもいろいろ考えてみてはいかがでしょうか。そういった時間もプログラミングの楽しみかと思います。
・ノーツがひとつも出ていないときに、キーを空打ちしたときはどうする?
・二つとか三つのノーツがつながって出てきているとき、キーを打ったらどのノーツと当たり判定をするの?
- mi9g0n
-
Scratcher
1000+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#927 の矢が当たっても消えないネコについて:
スプライト.Cat Flying の中に、『クローンされたとき』で始まるコードブロックが二つありますが、機能がかなりダブっているので役割分担を整理した方が良いと思います。
で、矢が青いネコ(Cat Flying)に当たっても消えないのはどのような場合なのかをコードを見て考えてみました。
なお、『クローンされたとき』が二つあるのでややこしいのですが、まず上の方の『クローンされたとき』ブロックでは、もしもブロックの結果は必ず偽になってしまうのではないでしょうか。なぜならばゲームスタートと同時にクローンが作られて、そのクローンが作られると同時に、つまりまだ矢が飛んでくる前に『もし矢に触れたなら』の判定が行われるのですから、ぜったい真にはなりません。
そうなると、『でなければ』の部分のコードが青いネコが左端に移動するまで繰り返されるだけなので、こちら側のコードブロックで矢の当たり判定はもう出てきません。
次に下の方の『クローンされたとき』ブロックですが、ここには矢に当たるまで繰り返す仕組みがありますが、その判定は1回行われるごとに『1秒待つ』されるので、つまり1秒スキが生まれます。その隙に矢が通り抜けてしまうと残念ながら消えないということになりそうです。
この「スキを作らない」仕組みを考えてみると改善につながるのではないでしょうか。
なお、「クローンがすべて消えたとき」ですが、今の仕組みですとクローンは15個できるのかと思います。であれば変数を用意して、矢が当たったら一つずつ値が増えるようにしておけば、いくつのクローンが消えて、どうなればクローンがすべて消えたのか分かる仕組みも作れそうな気がします。
スプライト.Cat Flying の中に、『クローンされたとき』で始まるコードブロックが二つありますが、機能がかなりダブっているので役割分担を整理した方が良いと思います。
で、矢が青いネコ(Cat Flying)に当たっても消えないのはどのような場合なのかをコードを見て考えてみました。
なお、『クローンされたとき』が二つあるのでややこしいのですが、まず上の方の『クローンされたとき』ブロックでは、もしもブロックの結果は必ず偽になってしまうのではないでしょうか。なぜならばゲームスタートと同時にクローンが作られて、そのクローンが作られると同時に、つまりまだ矢が飛んでくる前に『もし矢に触れたなら』の判定が行われるのですから、ぜったい真にはなりません。
そうなると、『でなければ』の部分のコードが青いネコが左端に移動するまで繰り返されるだけなので、こちら側のコードブロックで矢の当たり判定はもう出てきません。
次に下の方の『クローンされたとき』ブロックですが、ここには矢に当たるまで繰り返す仕組みがありますが、その判定は1回行われるごとに『1秒待つ』されるので、つまり1秒スキが生まれます。その隙に矢が通り抜けてしまうと残念ながら消えないということになりそうです。
この「スキを作らない」仕組みを考えてみると改善につながるのではないでしょうか。
なお、「クローンがすべて消えたとき」ですが、今の仕組みですとクローンは15個できるのかと思います。であれば変数を用意して、矢が当たったら一つずつ値が増えるようにしておけば、いくつのクローンが消えて、どうなればクローンがすべて消えたのか分かる仕組みも作れそうな気がします。
- POCHIMARO
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#933
ありがとうございます。クローンは下の方で統一しました。
クローンがすべて消えた時も解決できました。
すべてうまくいきました!!!本当にありがとうございました!!!
ありがとうございます。クローンは下の方で統一しました。
クローンがすべて消えた時も解決できました。
すべてうまくいきました!!!本当にありがとうございました!!!
- tabakenn
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
質問です。質問コーナーのお約束は読みました(←くわしくはリンク先をみてね)
統計情報の「◯◯人のユニークな訪問数」ってどういう意味でしょう?
原文の“◯◯ unique visitors”を見ても意味が分かりません…。
ユニーク(固有)ユーザ数とかで調べれば出てきます。
一人一回しかカウントされず、新規さんが来ると一増えます。
Last edited by tabakenn (Nov. 20, 2023 14:54:48)
- kouryou118103
-
Scratcher
1000+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
上の回答に補足で、これは先月のユニークユーザー数なので先月より前からいる人もカウントされています。
分かりやすく言うと、先月にScratchを開いた人数って感じです。(ちょっと違うけど)
分かりやすく言うと、先月にScratchを開いた人数って感じです。(ちょっと違うけど)
- 2525-7
-
Scratcher
1 post
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
今東方pvを作ろうかなと思っているのですが、東方の立ち絵の周りにある白い四角がない状態でアップロードすることはできますか?
- sasami19
-
Scratcher
58 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
(現在の [時 v])ブロックは、世界共通ですか?
例えば現在の時が3時のときに更新されるプログラムを作ったとき、外国の人がその国での3時にプログラムを実行したら更新されますか?
また、世界標準時のようなプログラムが作れるのであれば、そのヒントも欲しいです。
- uppmoonrabbits
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
共通ではないです。
少なくとも日本ではJSTという日本の基準となる時間の表示がされるので、
わざわざアメリカなどが日本時間に合わせるとは考えられません。
少なくとも日本ではJSTという日本の基準となる時間の表示がされるので、
わざわざアメリカなどが日本時間に合わせるとは考えられません。
- hima_jin_
-
Scratcher
7 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
よく日本の傾向に乗っている量産型プラットフォーマーってコミュニティーガイドライン的にどうなんですか?
- zouni1-23
-
Scratcher
55 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
質問です。aキーが押された時こうですかねぇ?[押した v] を送るAキーを押している間ずっと送られちゃいます。一回だけ送りたいです。どうしたらいいでしょうか?
[A v] キーが押されたとき違ってたらごめんなさい!
<<[A v] キーが押された> ではない> まで待つ
その後の動かしたい行動
Last edited by zouni1-23 (Nov. 22, 2023 03:41:24)
- KRTSD0823
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
こうですかねぇ?[A v] キーが押されたとき違ってたらごめんなさい!
<<[A v] キーが押された> ではない> まで待つ
その後の動かしたい行動
もし <[... v] キーが押された> ならのように、…(動作)を先にした方がいいと思います。
...
<<[... v] キーが押された> ではない> まで待つ
end














