Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch 3.0 をハック(動作や構造を解析すること)しよう!
- obu007e
-
Scratcher
14 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
「サムネイルをセット」というボタンはこの前行われたscratchのアップデートで追加された機能です。このボタンを押すことでサムネイルをセットすることができます。共有する前にこのボタンを押しておくことでサムネをセットした状態で共有できますが、1回も押さなかった場合、 1番最初の中心にscratch catがいる状態のサムネイルになります。PCを買い換えたら、「サムネイルをセット」ボタンが出てきました。そのため、アカウントでなく端末に紐図けられていると考えます。それはどういうことでしょうか。サムネイルは鯖ではなく各自のローカルに保存されているということでしょうか
- TNTSuperMan
-
Scratcher
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#902の進捗について載せてもいいですかね?
今は、商標など色々な問題を考慮してレスポンスJSONのプロパティ名をscratchteamからadminにしたり、
scratch-wwwをフォークしたりと、再現と言えるほどScratchと同じではないみたいな状況なんですが、
ScratchのAPIの仕組みについてある程度学びを得ることができました。
そして、最近はゲーム作ってみたり投票サービス作ってみたりで更新が停滞してます。
ちなみに、どうせBunなのでとフレームワークをElysiaに変えました。
これってどうですかね?
今は、商標など色々な問題を考慮してレスポンスJSONのプロパティ名をscratchteamからadminにしたり、
scratch-wwwをフォークしたりと、再現と言えるほどScratchと同じではないみたいな状況なんですが、
ScratchのAPIの仕組みについてある程度学びを得ることができました。
そして、最近はゲーム作ってみたり投票サービス作ってみたりで更新が停滞してます。
ちなみに、どうせBunなのでとフレームワークをElysiaに変えました。
これってどうですかね?
- syhisa5656
-
Scratcher
35 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
https://scratch.mit.edu/projects/1236151672/editor/
jsonファイルに変換して、「shadow=false」のところをすべて「shadow=true」にしたら
ブロックや背景などほぼすべてが隠されました。
jsonファイルに変換して、「shadow=false」のところをすべて「shadow=true」にしたら
ブロックや背景などほぼすべてが隠されました。
Last edited by syhisa5656 (Nov. 5, 2025 05:46:19)
- bambibambambi0081
-
Scratcher
4 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
そういえば実際Shadowってどこで使われてるんでしたっけ
- Ryouse1
-
Scratcher
24 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
https://turbowarp.org/1201938491?size=960x720 これもハッキングブロック使われてるんですけど、実はproject.jsonが160MBもあるんです。なぜでしょう
- kikkubo-do
-
Scratcher
3 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
Scratchのコードは、json、コスチューム(見た目)、音(音楽)の3つに分けてあるのを知りましたが、これについて、jsonファイルをエディットする方法はないのですか?
- e1bfd762321e409cee4a
-
Scratcher
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
こちらの指摘を受け、利用規約を読み直して微妙と自己判断したので削除
Last edited by e1bfd762321e409cee4a (Dec. 7, 2025 12:46:14)
- abee
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
それは、明らかに制限を回避するために使われていると思われますが、それを広めることは、今まで曖昧にされていたJSONハッキングを規制する理由になりうるかもしれません。
- pura314
-
Scratcher
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
音声合成についてです。
自分は音声合成を利用するにはインターネットが必要と書いてあったので、恐らくどっかのサービスから音をダウンロードしているんだろうと思いました。そこで開発ツールを見たところ、きちんAPI的なものがありました。
(リンクはhttps://synthesis-service.scratch.mit.edu/synth?locale={言語などを入れる}&gender={なんといえばいいかわからないけど種類を入れる}&text={しゃべらせたい内容} で、例えば日本語で「こんにちは」のアルトだったら、https://synthesis-service.scratch.mit.edu/synth?locale=ja-JP&gender=female&text=こんにちは ) それでいろいろ遊んでみると、なぜか(アルト・ねずみ)と(テノール・巨人)の組み合わせは、参照先のリンクが同じでした。そこでコードを調べてみました。
https://github.com/scratchfoundation/scratch-vm/blob/b3266a0cfe5122f20b72ccd738a3dd4dff4fc5a5/src/extensions/scratch3_text2speech/index.js#L144そこでわかったことは、(アルト・ねずみ)と(テノール・巨人)の組み合わせでは、参照先のリンクが同じなのはなぜかというと、もともとは同じ音声を使っていますが、その音声に対して“playbackRate”(再生速度)を変えさせる、という操作をさせて、ねずみ・巨人の音声を出しているから、ということです。とても興味深かったです。なにかに使えるかも?
追記:そのプロジェクトを作ってみました。 → https://scratch.mit.edu/projects/1260854641/
自分は音声合成を利用するにはインターネットが必要と書いてあったので、恐らくどっかのサービスから音をダウンロードしているんだろうと思いました。そこで開発ツールを見たところ、きちんAPI的なものがありました。
(リンクはhttps://synthesis-service.scratch.mit.edu/synth?locale={言語などを入れる}&gender={なんといえばいいかわからないけど種類を入れる}&text={しゃべらせたい内容} で、例えば日本語で「こんにちは」のアルトだったら、https://synthesis-service.scratch.mit.edu/synth?locale=ja-JP&gender=female&text=こんにちは ) それでいろいろ遊んでみると、なぜか(アルト・ねずみ)と(テノール・巨人)の組み合わせは、参照先のリンクが同じでした。そこでコードを調べてみました。
https://github.com/scratchfoundation/scratch-vm/blob/b3266a0cfe5122f20b72ccd738a3dd4dff4fc5a5/src/extensions/scratch3_text2speech/index.js#L144
get VOICE_INFO () { return { [ALTO_ID]: { name: formatMessage({ id: 'text2speech.alto', default: 'alto', description: 'Name for a voice with ambiguous gender.' }), gender: 'female', playbackRate: 1 }, [TENOR_ID]: { name: formatMessage({ id: 'text2speech.tenor', default: 'tenor', description: 'Name for a voice with ambiguous gender.' }), gender: 'male', playbackRate: 1 }, [SQUEAK_ID]: { name: formatMessage({ id: 'text2speech.squeak', default: 'squeak', description: 'Name for a funny voice with a high pitch.' }), gender: 'female', playbackRate: 1.19 // +3 semitones }, [GIANT_ID]: { name: formatMessage({ id: 'text2speech.giant', default: 'giant', description: 'Name for a funny voice with a low pitch.' }), gender: 'male', playbackRate: 0.84 // -3 semitones }, [KITTEN_ID]: { name: formatMessage({ id: 'text2speech.kitten', default: 'kitten', description: 'A baby cat.' }), gender: 'female', playbackRate: 1.41 // +6 semitones } };
追記:そのプロジェクトを作ってみました。 → https://scratch.mit.edu/projects/1260854641/
Last edited by pura314 (Jan. 1, 2026 11:49:45)
- -popcorn_yummy-
-
Scratcher
36 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
そういえば実際Shadowってどこで使われてるんでしたっけ
(どこかの場所 v)へ行くの「どこかの場所」のところみたいに周りより色が濃いところshadowが使われています。
Last edited by -popcorn_yummy- (Feb. 16, 2026 06:13:58)
- bambibambambi0081
-
Scratcher
4 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
あまりしっかりと検証はしていないですが、最近Json Hack関連のものが色々と壊れていませんか?主にShadow辺りの挙動が変わったのかもしれません
主な例ですが、@Es-2 さんのhttps://scratch.mit.edu/projects/558849188 とかも見た目がすごいことになっています
主な例ですが、@Es-2 さんのhttps://scratch.mit.edu/projects/558849188 とかも見た目がすごいことになっています
- bambibambambi0081
-
Scratcher
4 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
あまりしっかりと検証はしていないですが、最近Json Hack関連のものが色々と壊れていませんか?主にShadow辺りの挙動が変わったのかもしれません少しだけ検証した結果、定義のプレビュー(procedures_prototype)のShadowは外しても外れなくなったようです。
主な例ですが、@Es-2 さんのhttps://scratch.mit.edu/projects/558849188 とかも見た目がすごいことになっています