Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch 3.0 をハック(動作や構造を解析すること)しよう!
- hhayyatto
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
ありがとうございます。Scratchのプロジェクト(sb3)をzipとして解凍すれば出てきます。??どういうことですか??
- sb3ファイル(いじるやつ)をダウンロードする
- 拡張子を.zipにする
- 展開する
- 中のproject.jsonをいじる
- 圧縮する
- 拡張子を.sb3にする
- アップロード
- 完成!
- yukku
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
俺も(凍結)作りたいけど厚切りjsonってどうすれば出てくるんですか?左上のファイルからパソコンにプログラムを保存して拡張子を.zipに変えます。するとなかに.jsonがあります。(自分はスプライトを保存してやってます。)
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#135 にも書きましたが
これを共有していいものなのか、方法を解説していいものなのか、疑問です。
「その他の方法でScratchコミュニティにいたずらする」に通じませんか?
これを共有していいものなのか、方法を解説していいものなのか、疑問です。
「その他の方法でScratchコミュニティにいたずらする」に通じませんか?
- apple502j
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
Record Project Videoを実装しています。ついに完成しました。https://github.com/apple502j/scratch-gui/tree/stage-record-again
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
これはどういうものなのでしょうか?Record Project Videoを実装しています。ついに完成しました。https://github.com/apple502j/scratch-gui/tree/stage-record-again
- apple502j
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
Scratch 2.0に、ステージを録画する機能があったの覚えていますか? あれです。
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
「プロジェクトのビデオを録画」ってやつですね!
あれは60秒しか録画できなくてイマイチ使えなかったのですが
この Mod? はどうなのでしょう?
あれは60秒しか録画できなくてイマイチ使えなかったのですが
この Mod? はどうなのでしょう?
Last edited by inoking (May 1, 2020 07:56:56)
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
参照先のプロジェクトのメモとクレジットより:
- Your project will not be taken down if you use hacked blocks, but projects that feature or showcase a hack could be marked as NFE, according to a Scratch Team member. NFE or Not For Everyone means the project cannot be front paged or appear on trending. This project will probably be marked as NFE, for instance. However, if you just use these blocks to improve your project you should be alright.凍結ブロックもこのような扱いになるかもしれませんね。
- yukku
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
このプロジェクトの「Useful」にある変数以外のステージモニターを表示する機能の仕組みを見てみると、変数のアドレスがtimerなど特殊な文字列になってました。それを見て再現してみたんですが、上手く働きません。もしかしたらアドレスだけじゃなくて変数名もそろえないといけないかもしれません。
Last edited by yukku (May 10, 2020 08:50:03)
- yukku
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
その後再読み込みしたらうまくいきました。しかし、「現在の○」はうまくいきません。
- yukku
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
超連投している。これはproject.json上ののnullって何のためにありますか。
{"opcode":"sensing_current","next":null,"parent":null,"inputs":{},"fields":{"CURRENTMENU":["YEAR",null]},"shadow":false,"topLevel":true,"x":0,"y":0}
(現在の [ v])です。これの
"fields":{"CURRENTMENU":["YEAR",null]}
- yuzupon1133
-
Scratcher
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
超連投している。「何もない」という意味です。何もないから入れるのです。(これを言えば通じるはず)これはproject.json上の{"opcode":"sensing_current","next":null,"parent":null,"inputs":{},"fields":{"CURRENTMENU":["YEAR",null]},"shadow":false,"topLevel":true,"x":0,"y":0}(現在の [ v])です。これののnullって何のためにありますか。"fields":{"CURRENTMENU":["YEAR",null]}
- KimiruHamiru
-
New Scratcher
500+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
どうやったらScratch3.0をハックできるんですか?Scratch3.0は、大雑把に言えば、ほとんどの部分がJavaScript言語で書かれています。
ソースコードが公開されているので、JavaScript周辺の「充分な知識」があれば、
改造版Scratchを作ってWindowsなどの環境で動かすことができます。
改造しないまでも実際の構造を知ることでプロジェクトの作り方を工夫したりもできます。
このトピックで言う「Scratch3.0をハックする」の基本はそれです。
具体的にどうするか
具体的にどうするかというあたりは「質問者回答者の前提知識次第で答えの幅がむちゃくちゃ広くなる」のですが、
ひとつのこたえは、
「JavaScript周辺の充分な知識」があれば、
https://github.com/llk/scratch-gui
というURLを1つ知るだけで「Scratch3.0をハックする」ことができます。
できないなら「JavaScript周辺の充分な知識」が足りません。
となるかと思います。
とはいえ、これはかなり荷が重いです。
「周辺、充分」が曲者(くせもの)です。罠です。量がとんでもないです。
「一介の職業プログラマ」のレベルでは、
「手持ちのスキルセットが余程マッチする」且つ「整合性に関して、時の運がある」
という特殊状況でなければ、githubをスタート地点にすることはお勧めできません。
できなくはないですが、数週間単位の時間や最低数千円単位の書籍代が必要なはずです。
そこで
Open Source Projectsフォーラム
日本語フォーラムの外、
https://scratch.mit.edu/discuss/ のページ
「About Scratchカテゴリ」の中に
・Open Source Projectsフォーラム
・Developing Scratch Extentionsフォーラム
・Bugs and Glitchesフォーラム
といった、
「Scratch3.0をハックする」話題
に関連したフォーラム群があります。
特に、「Open Source Projects」フォーラムには
「Scratch3.0をハックする」の具体的なガイドがまとまっているようです。
「Scratch3.0を改造することに関しては、そこの情報が世界一前提知識の要求が低い」と思っています。
(とかいいつつ、私はちゃんと読んでません!)
また、「事実上の一次情報」となっているという理解です。
(異論はあるでしょうが、「Open Source Projectsフォーラム」の存在なしに日本語のこのトピックや、さらに言えばgithubのLLKリポジトリが機能しているとは想像できません)
などといいつつ、
Hackって何?
「Hackする」という言葉は、広義には「ライフハック」とかいう言葉があるように、
ソースコードのビルド云々を前提としたやり方に限定する言葉ではないので、
別ないろんなやり方でHackしてみるのもいいかもとは思います。
このトピックの指向はどうあれ、
「sb3ファイルを解凍ツールに掛けたらJSONファイルが出てきた!+ちょちょっと書き換えてアーカイブしたらScratchで読めた!=微妙に動作が変わった!」といった、いわゆる「JSONハック」
や、
もっと言えば
「こう使えばフレームレートが上げられる!」、「こうすれば鳴らすブロックで同時発声可能!」
などという、プロジェクトレベルからのアプローチ
も
「Scratch3.0をハックする」という表現をして差し支えないかな、と思うので、結局のところ
好きなようにHackすればよい
自分がHackだと思えばそれはHack
かな?とかも思います。
「ぼくが考えるHackはこれだ!」という具体的な話が出てくると、別な答えが出てくるかもしれません。







