Discuss Scratch

newmomizi_txt
Scratcher
1000+ posts

ScratchでOSを作るには?

例えば、
・「変数sys_commandに、実行したいコマンドを代入する」というような仕組みをScratch側で作り、
・TurboWarp Packagerで出力されたスクリプトファイルをなんか色々いじって、
・送られたコマンドをOS側で実行してやるようにすれば、
Scratchのプロジェクトからシステムをある程度制御できるようになります。

(脆弱性?なにそれ)
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

なるほどです。
ですがそれをやるなら.NETとかそのへんのフレームワークを使用してC#とかで実装したほうが早い気がしますね、、。(そもそもScratchでOSを作るという名目なので何もここまでくる(スクリプトファイルをいじるなど)とここで話し合うことではない気がします)
muriyoudesu
Scratcher
36 posts

ScratchでOSを作るには?

newmomizi_txt wrote:

例えば、
・「変数sys_commandに、実行したいコマンドを代入する」というような仕組みをScratch側で作り、
・TurboWarp Packagerで出力されたスクリプトファイルをなんか色々いじって、
・送られたコマンドをOS側で実行してやるようにすれば、
Scratchのプロジェクトからシステムをある程度制御できるようになります。

(脆弱性?なにそれ)
頭良すぎやろ…
_Soyokaze_
Scratcher
4 posts

ScratchでOSを作るには?

newmomizi_txt wrote:

例えば、
・「変数sys_commandに、実行したいコマンドを代入する」というような仕組みをScratch側で作り、
・TurboWarp Packagerで出力されたスクリプトファイルをなんか色々いじって、
・送られたコマンドをOS側で実行してやるようにすれば、
Scratchのプロジェクトからシステムをある程度制御できるようになります。

(脆弱性?なにそれ)
konnnitiha
それなら、レジストリ(的な奴)に書き込む拡張機能作ったらできそうですね
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

レジストリに書き込むことで何か実行できるわけではありません。
_Soyokaze_
Scratcher
4 posts

ScratchでOSを作るには?

sei6sei wrote:

レジストリに書き込むことで何か実行できるわけではありません。
いや、Rustやらでservice作っといてif レジストリが???なら doみたいな感じです
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

できなくはないですがそれをするなら

newmomizi_txt wrote:

例えば、
・「変数sys_commandに、実行したいコマンドを代入する」というような仕組みをScratch側で作り、
・TurboWarp Packagerで出力されたスクリプトファイルをなんか色々いじって、
・送られたコマンドをOS側で実行してやるようにすれば、
Scratchのプロジェクトからシステムをある程度制御できるようになります。

(脆弱性?なにそれ)
こっちのほうが楽です
newmomizi_txt
Scratcher
1000+ posts

ScratchでOSを作るには?

あ、そういえばTurboWarp Packagerでパッケージする時にクラウド変数の接続先サーバーを指定できたはずですが、あれをlocalhost(127.0.0.1)にすることはできるのか気になります。
それが可能なのであれば、わざわざパッケージ後のスクリプトを書き換えなくても、ローカルWebSocketサーバーを別で用意してやるだけで実現できそうです。

(なぜこれを最初に思いつかなかった)

Last edited by newmomizi_txt (Jan. 7, 2025 13:49:07)

newmomizi_txt
Scratcher
1000+ posts

ScratchでOSを作るには?

経過報告その1
TurboWarpで使用されているクラウドサーバーのソースコードが見つかりました。
https://github.com/TurboWarp/cloud-server
READMEで、localhostに接続している例があるのを見ると、理論上は実現できそうです。

Last edited by newmomizi_txt (Jan. 9, 2025 00:32:51)

_Soyokaze_
Scratcher
4 posts

ScratchでOSを作るには?

sei6sei wrote:

できなくはないですがそれをするなら

newmomizi_txt wrote:

例えば、
・「変数sys_commandに、実行したいコマンドを代入する」というような仕組みをScratch側で作り、
・TurboWarp Packagerで出力されたスクリプトファイルをなんか色々いじって、
・送られたコマンドをOS側で実行してやるようにすれば、
Scratchのプロジェクトからシステムをある程度制御できるようになります。

(脆弱性?なにそれ)
こっちのほうが楽です
なるほど
326999
Scratcher
5 posts

ScratchでOSを作るには?

よくある「1スプライトOS」はクローンを多用していると思うのですが、それぞれのクローンをどうやって識別しているのですか?また、大量にクローンを生成した場合に指揮系統が混線してしまうことはあるのでしょうか?
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

クローンごとにidを振っています。
Ros_project
Scratcher
17 posts

ScratchでOSを作るには?

sei6sei wrote:

idを振っています。
私のR os Mixの場合、コスチューム名、変数で判別しています。
atto0519-Scratch
Scratcher
78 posts

ScratchでOSを作るには?

326999 wrote:

よくある「1スプライトOS」はクローンを多用していると思うのですが、それぞれのクローンをどうやって識別しているのですか?また、大量にクローンを生成した場合に指揮系統が混線してしまうことはあるのでしょうか?
変数の「このスプライトのみ」を使うと、クローンごとに変数を割り当てられます。
N-blogacount
Scratcher
53 posts

ScratchでOSを作るには?

tsmcoder wrote:

OSを作ってみました。
提案やアドバイス等あればお願いします。
https://scratch.mit.edu/projects/980243479

言語設定ができるようになっています。日本語と英語対応です。
以下のようなプログラムにしました。
[language v] を [ja] にする

[language v] を [eng] にする
コスチュームの名前を、「ja-OO」「eng-OO」にして、対応させます。
コスチュームを ((language) と [title.png]) にする
ですが,日本語は「日本語」えいごは「Eng…」みたいに帰ってく
くるのでできないと思います
Shunkacchi
Scratcher
100+ posts

ScratchでOSを作るには?

みなさまにお知らせです
このトピックが作成されていたことを理由に議論をした結果、「ScratchでOSを作るには?」をScratch Teamにより再オープンさせてもらいました。

Last edited by Shunkacchi (Oct. 10, 2025 21:24:53)

Towawan
Scratcher
45 posts

ScratchでOSを作るには?

#479
本当のOSにするのは厳しいと思いますが、例のパッケージャーでパッケージして、Windows93みたいな形で動かせばいいと思います。

自分的にほんとに寄せるなら、解像度とかステージのサイズ変更に適応させたりと、色々手を加えないと大変だとおもいますが…
Shunkacchi
Scratcher
100+ posts

ScratchでOSを作るには?

#517
たしかにそうですね。
そうすると、ビットマップ絵画でやるとカクカクに見えてしまう欠点があるので、ベクターで細かく絵画した方が良いかもしれませんね。
Shunkacchi
Scratcher
100+ posts

ScratchでOSを作るには?

#124
新しく追加された拡張機能を使えばできそうな気もするのですが…ブロックが英語だからよくわからないのが欠点

追記
一部を翻訳して、ちょいとグラフを作ってみた
これです

Last edited by Shunkacchi (Oct. 12, 2025 06:54:52)

e1bfd762321e409cee4a
Scratcher
100+ posts

ScratchでOSを作るには?

ScratchでLinuxを作成した人を見つけました
これです

Last edited by e1bfd762321e409cee4a (March 26, 2026 03:12:44)

Powered by DjangoBB