Discuss Scratch

gccxnondx
Scratcher
100+ posts

Scratch への提案

ブロック定義というものが現在もあります。
それを活用すれば、一文字づつ言うに関しては重くすることがなく、作れると思います。
真偽数に関しては、そんな言葉が出てきても初心者が「なにこれ?」となるだけなので、不要です。
TA_KENO
Scratcher
12 posts

Scratch への提案

@shidakenさんへ
確かに真偽数はそのように代用出来ますし、一文字ずつ言うなども、ブロック定義などで代用はできます。ただし、
の ~ 文字目は、クラウド変数のコードを作るときに、コードを復元する側で役立つと思ったからです。
なんなら真偽数や一文字ずつ言うも、代用はできますが、
if <> then 



else

end
だって、
set [ v] to [0]
if <> then
set [ v] to [1]
end
if <<not <>> and <(foo) = [0]>> then

end
で代用することが出来ます。
なので、10ブロック以内で代用できるとしても、便利で使いやすいという面では、必要だと思います。

Last edited by TA_KENO (March 31, 2026 00:42:11)

kurosio-ZP
Scratcher
100+ posts

Scratch への提案

#9046
便利である、というだけ実装の理由になりませんし、それよりさきにするべきことがあるなら、STはそちらを優先して実装するでしょう。
できないことを頑張って工夫して作り出すのがscratchの醍醐味ではないだろうか?

追記:ちなみにif elseはほかのプログラミング言語でも実装されているので実装されているだけかと。(だとしたらelifがないのは納得できないが)

Last edited by kurosio-ZP (March 31, 2026 00:47:19)

inoking
Scratcher
1000+ posts

Scratch への提案

#9046:
#1 に書いてある以下も読んでみてください。
#798 および、旧トピックの #3983, #4416, #4971 も読んでみてください。
このエッセイも読んでみてください。

より具体的には、こちらより:

tsumuri3 wrote:

JavaScriptの文字列.substr(自然数)機能を提案します。
ブロックにして
(() の()番目から番目から最後までの文字  ::#3fff3a
みたいな感じだと思います
文字列操作関数の提案はたまにありますが、
自作できる。というのがこれまでのこのトピックでの大体の見解です。

そしてこちらも:
これらはすべて作品側で用意できます。難易度は高くありません(もちろん完全な Scratch 初心者は別です)。

文字列操作は練習問題にぴったりです。
Yukihisa2022
Scratcher
1000+ posts

Scratch への提案

#2の却下された提案について、原文が更新されたので、#2についても更新をお願いします。
(前回の更新)

削除(大元の原文の削除に伴う、こちらを参照):
2.8 AI画像生成
・様々なデメリットがある
・AIアシスタントは却下されていない

追加:
3.8 ショート形式のコンテンツ
・Scratchのプロジェクトは明確な実行時間を持たない
・Scratchは動画ベースではなく、「長さ」を定義できない

また、こちらで提案されている内容も含めて更新をお願いします。
-popcorn_yummy-
Scratcher
44 posts

Scratch への提案

作品と作品を通信できる変数などはどうでしょう
(例:作品Aの通信する変数を1にすると作品Bの通信する変数も1になる)
my_hokanko
Scratcher
17 posts

Scratch への提案

#9050
理由をお願いします

さらにクラウド変数の制限を回避できてしまうと思います

Last edited by my_hokanko (April 2, 2026 03:23:26)

inoking
Scratcher
1000+ posts

Scratch への提案

-popcorn_yummy- wrote:

作品と作品を通信できる変数などはどうでしょう
(例:作品Aの通信する変数を1にすると作品Bの通信する変数も1になる)
却下された提案にあります。
・他のプロジェクトとの変数共有
理由:#59
abee
Scratcher
1000+ posts

Scratch への提案

#9050
ScratchのMODにはそれを可能にしたものがあります。Smalrubyの拡張機能のメッシュなどがそうです。
また、Scratch 1.4まではMeshが隠し機能として用意されていました。
これは中学校技術科の単元「ネットワークを利用した双方向性のあるコンテンツのプログラミング」で使われていますが、現在のScratchに入る可能性はほとんどないと考えられます。

Last edited by abee (April 2, 2026 03:44:15)

Zirconium_Tungstate
New Scratcher
4 posts

Scratch への提案

いくつかアイデアを思いついたのでまとめてみました。
アイデア1…
(join [] [])
など一部ブロックの可変長引数化
->右に+ボタンをつけて、たくさん増やせるようにする
(join ["ゴミ箱ボタン" ] ["ゴミ箱ボタン" ] ["ゴミ箱ボタン" ] ["ゴミ箱ボタン" ] "+ボタン")
()の左端ににゴミ箱ボタンをつけて消せるようにする
(join (join [] []) (join[] []))
のようにネストすれば同じように使えるが、QOLが大幅に向上する
アイデア2…else-if
if <> then 
else
end
は既に存在するが、アイデア1の+ボタンの仕組みを利用し、
if <> then
else
※一つ上は"else"ではなく"else if<> "ゴミ箱ボタン""
else
end
※一つ上は" "ではなく"+ボタン"
これもQOLの向上が目的。
アイデア3…変更可能なモード
Scratchでは当たり判定でピクセル判定を実装していて、それで描画時にGPUが使えずCPUで描画を行っているのがラグの一つの原因となっている。
モードを変更すると描画時にGPUが使えるようになる代わり、
<touching [ v] ?>
<touching color [#1b37da] ?>
when this sprite clicked
などの一部のブロックが使えなくなる代わりに、当たり判定を操作するブロック(拡張機能)を追加する
当たり判定を [矩形 v]にする

当たり判定を [有効化 v]
inoking
Scratcher
1000+ posts

Scratch への提案

Zirconium_Tungstate wrote:

いくつかアイデアを思いついたのでまとめてみました。
アイデア1…
(join [] [])
など一部ブロックの可変長引数化
~略~

アイデア2…else-if
if <> then 
else
end
は既に存在するが、アイデア1の+ボタンの仕組みを利用し、
~略~
これもQOLの向上が目的。

アイデア3…変更可能なモード
Scratchでは当たり判定でピクセル判定を実装していて、それで描画時にGPUが使えずCPUで描画を行っているのがラグの一つの原因となっている。
モードを変更すると描画時にGPUが使えるようになる代わり、
~略~

署名で申し訳ないですが wrote:

Scratchを触ってこそ、本物の言語のすさまじい力を知る。

#9048 から再掲します。

inoking wrote:

#1 に書いてある以下も読んでみてください。
#798 および、旧トピックの #3983, #4416, #4971 も読んでみてください。
このエッセイも読んでみてください。
また、「本物の言語」とありますが
そもそも Scratch はブロックプログラミングではあっても本格的な言語です。
学びやすさを両立しているだけです。

まず Scratch の理念を理解したうえで提案をお願いします。

そして、実務面でも
・GPU を使うと何でも高速化できるものではありません。
・「QOL」を繰り返していますが「QOL」とは一般的に「Quality of Life」のことです。
知識内容をよく確認するようお願いします。
他にも
代替可能性、互換性、ユーザーインターフェースの一貫性などなど
色々考慮すべき点はあります。


さらに、投稿と直接関係がないことで申し訳ないですが
新造アカウントではなく
本アカウントで投稿するほうが文責という点で信頼性が高くなります。
inoking
Scratcher
1000+ posts

Scratch への提案

#9049:

Yukihisa2022 wrote:

3.8 ショート形式のコンテンツ
・Scratchのプロジェクトは明確な実行時間を持たない
・Scratchは動画ベースではなく、「長さ」を定義できない
これについて、Paddle2See さんからのコメントでは

Paddle2See wrote:

PIXEL_BY_PIXEL_ERROR wrote:

Scratch is a coding platform, not a video platform.
That's where I land as well.
とあります。上記は公式見解ではないかもしれませんが、
「Scratch はコーディングプラットフォームであって、動画プラットフォームではない」
ということに ST メンバーも同意している

ということも補足として記載しておこうと思います。

なお、反映は、今週末を目途に行う予定です。
abee
Scratcher
1000+ posts

Scratch への提案

#9054
この中のいくつかは、Scratchと同じScratch Blocksを使ったMakeCodeで採用されているものですね。

それなので、Scratchでも実現可能ですが、後方互換性などを考えて、あえてやっていないということだと思います。
また、「Scratchでは当たり判定でピクセル判定を実装していて、それで描画時にGPUが使えずCPUで描画を行っているのがラグの一つの原因となっている」の「描画時にGPUが使えず」の意味が良くわからなかったので、詳しく説明してもらえますか。矩形領域で当たり判定を行えば確かに速くなりますが、複雑な形状のコスチュームの場合は細かく矩形を分割する必要があります。また、現状でもプログラムで実装可能です。

Last edited by abee (April 3, 2026 03:35:06)

Yukihisa2022
Scratcher
1000+ posts

Scratch への提案

#9056

inoking wrote:

「Scratch はコーディングプラットフォームであって、動画プラットフォームではない」
ということに ST メンバーも同意している

ということも補足として記載しておこうと思います。
それは「Scratchは動画ベースではなく」で説明が足りていませんか?
改良するとしたら
3.8 ショート形式のコンテンツ
・Scratchは動画プラットフォームではない
・実行時間が不定であり、プロジェクトの明確な「長さ」を定義できない
のような形でしょうか。
Zirconium_Tungstate
New Scratcher
4 posts

Scratch への提案

inoking wrote:

Zirconium_Tungstate wrote:

いくつかアイデアを思いついたのでまとめてみました。
アイデア1…
(join [] [])
など一部ブロックの可変長引数化
~略~

アイデア2…else-if
if <> then 
else
end
は既に存在するが、アイデア1の+ボタンの仕組みを利用し、
~略~
これもQOLの向上が目的。

アイデア3…変更可能なモード
Scratchでは当たり判定でピクセル判定を実装していて、それで描画時にGPUが使えずCPUで描画を行っているのがラグの一つの原因となっている。
モードを変更すると描画時にGPUが使えるようになる代わり、
~略~

署名で申し訳ないですが wrote:

Scratchを触ってこそ、本物の言語のすさまじい力を知る。

#9048 から再掲します。

inoking wrote:

#1 に書いてある以下も読んでみてください。
#798 および、旧トピックの #3983, #4416, #4971 も読んでみてください。
このエッセイも読んでみてください。
また、「本物の言語」とありますが
そもそも Scratch はブロックプログラミングではあっても本格的な言語です。
学びやすさを両立しているだけです。

まず Scratch の理念を理解したうえで提案をお願いします。

そして、実務面でも
・GPU を使うと何でも高速化できるものではありません。
・「QOL」を繰り返していますが「QOL」とは一般的に「Quality of Life」のことです。
知識内容をよく確認するようお願いします。
他にも
代替可能性、互換性、ユーザーインターフェースの一貫性などなど
色々考慮すべき点はあります。


さらに、投稿と直接関係がないことで申し訳ないですが
新造アカウントではなく
本アカウントで投稿するほうが文責という点で信頼性が高くなります。
「Scratchを下げる」ような書き方をしてしまい、申し訳ございませんでした。
確かにScratchも立派な一つのの言語ですね。
もちろん、文字を打つ形式の言語のほうが様々な機能があり、楽に作品を作れます。
Scratchにはそのような便利さは備わっていませんが、「ブロックをつなげる」ことで初心者にもわかりやすく制作ができます。また、

inoking wrote:

みなさんへ:
こちらを再掲しておきます。
元の英語のトピックは2015年のものなので現在とはちょっと事情が違うかもしれませんが、ほぼ通用するでしょう。

inoking wrote:

Scratch ブロックの考え方として
以下のような説明が英語の提案フォーラムにあります。
A guide to suggestions
Scratch doesn't always have to be super simple, and, for that matter, shouldn't be. For example, if you suggested a “physics” block, which made a sprite follow the laws of physics, this would probably be rejected. Why? It would certainly be useful! The problem is (beyond the difficulties in making such a block) that it makes Scratch too easy. It is kind of taking the “program” out of “Imagine, program, share”. We don't want to be able to make anything in five minutes; that ruins the point of programming, having fun, and putting effort into your projects. However, you can always feel free to make your own physics tutorial, and share it with the community, so that those who don't know how to program physics could learn to program physics.
↓ざっと訳
スクラッチはいつも超シンプルである必要はありません。
例えば、物理学の法則に従ったスプライトを作成した「物理学」ブロックを提案した場合、これはおそらく却下されます。
どうして?それは確かに便利でしょう。
問題は Scratch をあまりにも簡単にすることです。それは、「想像、プログラム、共有」から「プログラム」を取り去っているようなものです。
私たちは5分で何かを作れるようにすることを望んでいません。
それはプログラミングする、楽しい時間を費やす、作品に力を注いだりする、ということを損ないます。
しかし、あなたはいつでも自分の物理学チュートリアルを作成し、コミュニティと共有することができます。
それによって、物理学のプログラミムを知らない人が物理学のプログラムを学ぶことができます。
で書いてある通り、「多くの言語にある便利なものはないから自分で作る」ということができ、よい経験になるというのも理解できます。
実際Scratchで高度な作品を作っているときに「これがあったら楽に作れるんだけどな」という機能はいくつもありました。
また、Scratchでそのような部分の自作をすることで、実際に文字を打つ形式のプログラミングを行うときに、新しく使う機能を「自作した経験がある」
ことで理解がスムーズに進んだことがあります。
なので、これから提案をするときは、
・便利にしすぎない
・初心者でも混乱しない
などを注意して、Scratchの目的を尊重するよう心がけます。
また、アカウントについてですが、これは新しいアカウントですがアカウントはこれしかありません。
また、Scratch自体は別の場所で10年以上前から利用していますが、個人用にアカウントを作ったのは最近で、これは捨てアカウントではありません。
————————————————————————————————————————————————————————————————————

abee wrote:

#9054
この中のいくつかは、Scratchと同じScratch Blocksを使ったMakeCodeで採用されているものですね。
それなので、Scratchでも実現可能ですが、後方互換性などを考えて、あえてやっていないということだと思います。
また、「Scratchでは当たり判定でピクセル判定を実装していて、それで描画時にGPUが使えずCPUで描画を行っているのがラグの一つの原因となっている」の「描画時にGPUが使えず」の意味が良くわからなかったので、詳しく説明してもらえますか。矩形領域で当たり判定を行えば確かに速くなりますが、複雑な形状のコスチュームの場合は細かく矩形を分割する必要があります。また、現状でもプログラムで実装可能です。
これについてなんですが、Scratchでは見た目通りの当たり判定を実現するために、ピクセル毎に当たり判定を調べていて、そのためにGPUで描画される画像データをCPUでも処理をする必要があり、その処理に高いコストがかかっています。(描画時にGPUが使えないというのは間違いで、CPUでも画像を処理しなければならないということででした。)
h_team_x
Scratcher
100+ posts

Scratch への提案

Yukihisa2022 wrote:

#2の却下された提案について、原文が更新されたので、#2についても更新をお願いします。
(前回の更新)


また、こちらで提案されている内容も含めて更新をお願いします。
$ブロックの移動について触れないのですか…
inoking
Scratcher
1000+ posts

Scratch への提案

#9058:

Yukihisa2022 wrote:

#9056

inoking wrote:

「Scratch はコーディングプラットフォームであって、動画プラットフォームではない」
ということに ST メンバーも同意している

ということも補足として記載しておこうと思います。
それは「Scratchは動画ベースではなく」で説明が足りていませんか?
改良するとしたら
3.8 ショート形式のコンテンツ
・Scratchは動画プラットフォームではない
・実行時間が不定であり、プロジェクトの明確な「長さ」を定義できない
のような形でしょうか。
いえ、3.8 の原文で触れられているのは技術的側面です。
Paddle2See さんからのコメント
「Scratch はコーディングプラットフォームであって、動画プラットフォームではない」
ということに ST メンバーも同意している

という理念の側面です。
tsukebo_sumajan
Scratcher
53 posts

Scratch への提案

こんにちは。提案させていただきます。

プロジェクトを決めた時間に投稿する機能(つまり、YouTubeのようなスケジュール投稿)を追加した方がいいと思います。
理由は、
・年末などに「20⚪︎⚪︎年おめでとう!!」みたいなプロジェクトを投稿する際、寝ながら投稿できる。
・投稿スケジュールが決められているアニメやプロジェクトなども、外出をしているときにもプロジェクトを投稿できる。
などです。
402error
Scratcher
90 posts

Scratch への提案

#9062
ですから、scratchは動画プラットフォームではありません。
githubやreddit(若干違う…)のようなコーディングプラットフォームです。

Last edited by 402error (April 3, 2026 23:04:30)

waka-mako
Scratcher
1 post

Scratch への提案

こんにちは。Scratchにあってほしいブロックをいくつか提案します。
スプライト()を止める&動かす
()番目のスプリクトを止める&動かす
などのブロックがあると便利だと思います

Powered by DjangoBB