Discuss Scratch
- Discussion Forums
- » 日本語
- » 質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12161Feb. 14, 2026 13:32:49
- ke-go
-
Scratcher
14 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
>> #12249
データをリストに保存し、ペンで描画するのが良いと思います@greenFlag が押されたとき
全部消す
x座標を (-240) 、y座標を ([データ v] の (1) 番目) にする
ペンを下ろす
[変数 v] を [1] にする
([データ v] の長さ::data) 回繰り返す // なぜか緑色になっていますが、リストブロックです
[変数 v] を (1) ずつ変える
x座標を ((x座標) + ((480) / ([データ v] の長さ::data))) 、y座標を ([データ v] の (変数) 番目) にする // 同じくリストブロックです
end
ペンを上げる
やってみます!もし変になったらまた聞きますね
#12162Feb. 14, 2026 13:47:39
- mamea_K
-
Scratcher
78 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12249
データセットをリストを用いてx軸、y軸別にまとめ、以下のようにプログラムを組むと良いかと思います。リストの作り方は、例えばデータ1が(x,y)=(1,13)だとしたら、list_x、list_yの1番目にそれぞれ1と13を入れるような形です。このとき、xの値が小さい順に入れるとうまくいきます。
によって太くして、別途
以下、#12250を参考に追記します。
この手法では、x軸が-240~240の範囲、y軸が-180~180の範囲にあることを前提とするので、うまくいかない場合はデータを補正する機構を組み込み
データセットをリストを用いてx軸、y軸別にまとめ、以下のようにプログラムを組むと良いかと思います。リストの作り方は、例えばデータ1が(x,y)=(1,13)だとしたら、list_x、list_yの1番目にそれぞれ1と13を入れるような形です。このとき、xの値が小さい順に入れるとうまくいきます。
[i v] を [0]にするこれで折れ線部分は完成します。もし塗りつぶしプロットも行いたいのであれば、ペンの太さを
(5)回繰り返す
[i v] を (1)ずつ変える
x座標を([list_x v] の(i)番目:: list) 、y座標を ([list_y v] の(i)番目:: list)にする
もし<(i) = [1]> なら
ペンを下ろす
end
end
ペンを上げる
ペンの太さを ()にする
によって太くして、別途
[i v] を [0]にするのプログラムも実行すればプロットも行えるかと思います。
(5)回繰り返す
[i v] を (1)ずつ変える
x座標を([list_x v] の(i)番目:: list) 、y座標を ([list_y v] の(i)番目:: list)にする
ペンを下ろす
(0) 歩動かす
ペンを上げる
以下、#12250を参考に追記します。
この手法では、x軸が-240~240の範囲、y軸が-180~180の範囲にあることを前提とするので、うまくいかない場合はデータを補正する機構を組み込み
x座標を((([list_x v] の(i)番目:: list) * ((グラフの値の幅) / (480))) + (水平移動)) 、y座標を (xと同様に)にするとするとうまくいくかもしれません。グラフの値の幅は、xの最大値からxの最小値を引いた値にすると良いでしょう。
Last edited by mamea_K (Feb. 14, 2026 13:57:05)
#12163Feb. 14, 2026 22:51:30
- ke-go
-
Scratcher
14 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12249
データセットをリストを用いてx軸、y軸別にまとめ、以下のようにプログラムを組むと良いかと思います。リストの作り方は、例えばデータ1が(x,y)=(1,13)だとしたら、list_x、list_yの1番目にそれぞれ1と13を入れるような形です。このとき、xの値が小さい順に入れるとうまくいきます。[i v] を [0]にするこれで折れ線部分は完成します。もし塗りつぶしプロットも行いたいのであれば、ペンの太さを
(5)回繰り返す
[i v] を (1)ずつ変える
x座標を([list_x v] の(i)番目:: list) 、y座標を ([list_y v] の(i)番目:: list)にする
もし<(i) = [1]> なら
ペンを下ろす
end
end
ペンを上げるペンの太さを ()にする
によって太くして、別途[i v] を [0]にするのプログラムも実行すればプロットも行えるかと思います。
(5)回繰り返す
[i v] を (1)ずつ変える
x座標を([list_x v] の(i)番目:: list) 、y座標を ([list_y v] の(i)番目:: list)にする
ペンを下ろす
(0) 歩動かす
ペンを上げる
以下、#12250を参考に追記します。
この手法では、x軸が-240~240の範囲、y軸が-180~180の範囲にあることを前提とするので、うまくいかない場合はデータを補正する機構を組み込みx座標を((([list_x v] の(i)番目:: list) * ((グラフの値の幅) / (480))) + (水平移動)) 、y座標を (xと同様に)にするとするとうまくいくかもしれません。グラフの値の幅は、xの最大値からxの最小値を引いた値にすると良いでしょう。
ごめんなさい、分かりやすく説明お願いします。
#12164Feb. 14, 2026 23:02:29
#12165Feb. 14, 2026 23:58:44
#12166Feb. 15, 2026 00:02:59
- mamea_K
-
Scratcher
78 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12254
つくってみました.
分かりやすく解説すると、まずデータをリストに入れます。つぎに、
しかし、xやyの値の差が一桁程度と小さい場合や200以上と大きい場合は、このままだとグラフが小さくて読めなくなったり、大きすぎて画面からはみ出してしまいます。そのため、
つくってみました.
分かりやすく解説すると、まずデータをリストに入れます。つぎに、
(5)回繰り返すを使ってリストのデータを順番に取り出します。そのまま、データの位置に移動して、ペンでグラフを作ります。
[変数 v] を (1)ずつ変える
end
しかし、xやyの値の差が一桁程度と小さい場合や200以上と大きい場合は、このままだとグラフが小さくて読めなくなったり、大きすぎて画面からはみ出してしまいます。そのため、
x座標を((([list_x v] の(i)番目:: list) * ((480) / ((xの最大値) - (xの最小値)))) + (水平移動)) 、y座標を (xと同様に)にするのように、データに少し「細工」をしています。
Last edited by mamea_K (Feb. 15, 2026 00:04:06)
#12167Feb. 15, 2026 00:31:41
- DSTscratchTV
-
Scratcher
7 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12242
os変えたら安定すると思いますが….
#12242
My browser / operating system: MacOS Macintosh X 10.15.7, Chrome 143.0.0.0, No Flash versions detected
地球ボタンを押すとこのような感じになります
(#12242)
キーボードがそもそも繋がっていない可能性があります。
一回再接続するとよいでしょう。
Bluetoothキーボード(無線のやつ)の場合はとくに通信が途切れやすいです。
あと、Windows 7は**サポートが切れている**のでWindows 11とかに替えることをおすすめします。
: (Wikipediaより)
#12242
細かいですが、作動環境ではなく動作環境です。
https://scratch.mit.edu/faq を読んでみてください。
かぶっちゃった
みなさん、いろいろありがとうございます。昨日の夜中にWindows11にアップデートしていろいろ変わったのですが、どうしてもscratchのバグを解消できません。どうしたらいいですか?
#12168Feb. 15, 2026 00:37:31
- 402error
-
Scratcher
78 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12260
その件は様々なディスカッションフォーラムのトピックに上がっているようです。私はscratchtemesに問題を報告したのでじきに解決するでしょう
その件は様々なディスカッションフォーラムのトピックに上がっているようです。私はscratchtemesに問題を報告したのでじきに解決するでしょう
#12169Feb. 15, 2026 00:47:08
#12170Feb. 15, 2026 03:03:07
- WeatherLink
-
Scratcher
18 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
60fpsにも対応させたいのですがうまくいったと思ったら遅くなりすぎちゃって、下のようなプログラムなんですがどうすればゲーム内時間の速度を変更できるのでしょうか?(このあと一回共有するのでリンク貼り付けます)
change [speed y v] by ((-0.876) * (time))
if <key [up arrow v] pressed?> then
set [speed y v] to [1.94]
end
when I receive [check delta time v]
set [time v] to ((timer)-(foo))
set [foo v] to (timer)
#12171Feb. 15, 2026 03:04:40
- WeatherLink
-
Scratcher
18 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
60fpsにも対応させたいのですがうまくいったと思ったら遅くなりすぎちゃって、下のようなプログラムなんですがどうすればゲーム内時間の速度を変更できるのでしょうか?(このあと一回共有するのでリンク貼り付けます)https://scratch.mit.edu/projects/1279693527/change [speed y v] by ((-0.876) * (time))
if <key [up arrow v] pressed?> then
set [speed y v] to [1.94]
end
when I receive [check delta time v]
set [time v] to ((timer)-(foo))
set [foo v] to (timer)
これです
#12172Feb. 15, 2026 03:06:23
#12173Feb. 15, 2026 03:20:47
- WeatherLink
-
Scratcher
18 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#1226160fpsに対応させたい理由ですが、このプロジェクトは今後とても重くなることが見込めるので、Scratchで15fps位になってしまっても同じ動作をしてくれないと困るのが理由です。Turbowarpで制作していて、一応60fpsでも同じ動きをします(倍速にならないっていうこと)。しかしとても遅い…何かしらの変数を倍にしたら改善が見込めるものなんでしょうか…私は数学はあまり詳しくないのでいまいちよくわからないんです(追記)editの意味がよくわからす引用にしてしまいました…すいません
60fpsはscratch上で使用できません。
TurboWarpを使いましょう。
また、補足したい場合はeditボタンを使うことをお勧めします。
Last edited by WeatherLink (Feb. 15, 2026 03:23:35)
#12174Feb. 15, 2026 03:25:19
- 402error
-
Scratcher
78 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12263:
fpsを測って
fpsを測って
((((30) * (動かしたい...なんとか))) / (fps))のようにするのが一番原始的でいいです。
Last edited by 402error (Feb. 15, 2026 03:30:03)
#12175Feb. 15, 2026 03:29:24
- WeatherLink
-
Scratcher
18 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
ありがとうございます。試してみますfpsを測って#1226160fpsに対応させたい理由ですが、このプロジェクトは今後とても重くなることが見込めるので、Scratchで15fps位になってしまっても同じ動作をしてくれないと困るのが理由です。Turbowarpで制作していて、一応60fpsでも同じ動きをします(倍速にならないっていうこと)。しかしとても遅い…何かしらの変数を倍にしたら改善が見込めるものなんでしょうか…私は数学はあまり詳しくないのでいまいちよくわからないんです(追記)editの意味がよくわからす引用にしてしまいました…すいません
60fpsはscratch上で使用できません。
TurboWarpを使いましょう。
また、補足したい場合はeditボタンを使うことをお勧めします。((((30) * (動かしたい...なんとか))) / (fps))のようにするのが一番原始的でいいです。
#12176Feb. 15, 2026 06:32:51
- newmomizi_txt
-
Scratcher
1000+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
fps = 1.0/delta_t
ですから、速度にデルタタイムを掛けるのと、fpsで割ることは、完全に等価です。むしろ、無駄に計算が増えることによって、数値の精度が下がることもあります。
なぜ速度が変化しているのか、についてですが、これはv-tグラフを描いてみれば分かります。

よく見ると、60fps時のほうがより高頻度で落下速度を更新している分、落下が速くなっています。
これを踏まえたうえで、どのようなプログラムにすればよいかを、もう一度考えてみましょう。
個人的には、デルタタイム処理は事故のもとになる (実際の商用ゲームでもたまにある) ので、ティック処理にしたほうが簡単だと思います。
これは、「30fpsだろうが60fpsだろうが、必ず毎秒60回の頻度で座標を更新する」というような仕組みです。ただしこの性質上、60fpsを超えるフレームレートに設定しても、それ以上に滑らかな描写はできません。
詳しいやり方は、まずは自分で探してみてください。もちろん、それでも分からなければ、ここで質問してください。
ですから、速度にデルタタイムを掛けるのと、fpsで割ることは、完全に等価です。むしろ、無駄に計算が増えることによって、数値の精度が下がることもあります。
なぜ速度が変化しているのか、についてですが、これはv-tグラフを描いてみれば分かります。

よく見ると、60fps時のほうがより高頻度で落下速度を更新している分、落下が速くなっています。
これを踏まえたうえで、どのようなプログラムにすればよいかを、もう一度考えてみましょう。
個人的には、デルタタイム処理は事故のもとになる (実際の商用ゲームでもたまにある) ので、ティック処理にしたほうが簡単だと思います。
これは、「30fpsだろうが60fpsだろうが、必ず毎秒60回の頻度で座標を更新する」というような仕組みです。ただしこの性質上、60fpsを超えるフレームレートに設定しても、それ以上に滑らかな描写はできません。
詳しいやり方は、まずは自分で探してみてください。もちろん、それでも分からなければ、ここで質問してください。
Last edited by newmomizi_txt (Feb. 15, 2026 06:38:19)
#12177Feb. 15, 2026 07:21:10
- ke-go
-
Scratcher
14 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
東方の弾幕(ばらまき弾)の動きをScratchで作れますかね?
Last edited by ke-go (Feb. 15, 2026 07:36:14)
#12178Feb. 15, 2026 07:29:08
- aalaalscratcher
-
Scratcher
500+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
(上の投稿と被りました)
どんな弾幕の動きを作りたいのかわからないと
プログラムを作ることもできません
(弾幕の動きは種類が多すぎるため、一概に「このブロックを組んでおけば何でも作れる」というものはない……はず……)
どんな動きをさせたいのか、説明していただけますか?
おそらく多くの弾幕ゲームの共通している部分として
弾をたくさん使う場合はクローンやPenといった機能を活用するところがあります
どんな弾幕の動きを作りたいのかわからないと
プログラムを作ることもできません
(弾幕の動きは種類が多すぎるため、一概に「このブロックを組んでおけば何でも作れる」というものはない……はず……)
どんな動きをさせたいのか、説明していただけますか?
おそらく多くの弾幕ゲームの共通している部分として
弾をたくさん使う場合はクローンやPenといった機能を活用するところがあります
Last edited by aalaalscratcher (Feb. 15, 2026 07:30:06)
#12179Feb. 15, 2026 07:30:20
- gccxnondx
-
Scratcher
100+ posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
https://scratch.mit.edu/discuss/post/6551506/
【出来ることの限界】実際に実装している作品を参考にして作ってみましょう。
Scratchはチューリング完全を満たすため、どのようなアルゴリズムも作ることが可能。
#12180Feb. 15, 2026 07:33:02
- ke-go
-
Scratcher
14 posts
質問コーナー7(利用する前に最初の投稿(#1)を確認してね)
#12254
つくってみました.
分かりやすく解説すると、まずデータをリストに入れます。つぎに、(5)回繰り返すを使ってリストのデータを順番に取り出します。そのまま、データの位置に移動して、ペンでグラフを作ります。
[変数 v] を (1)ずつ変える
end
しかし、xやyの値の差が一桁程度と小さい場合や200以上と大きい場合は、このままだとグラフが小さくて読めなくなったり、大きすぎて画面からはみ出してしまいます。そのため、x座標を((([list_x v] の(i)番目:: list) * ((480) / ((xの最大値) - (xの最小値)))) + (水平移動)) 、y座標を (xと同様に)にするのように、データに少し「細工」をしています。
できたんですけど、違いがわかりずらいグラフになりました。
追記;できました!ありがとうございます!
Last edited by ke-go (Feb. 15, 2026 07:49:09)