Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch 3.0 をハック(動作や構造を解析すること)しよう!
- tabakenn
-
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
https://scratch.mit.edu/discuss/topic/353556/?page=285#post-3969801
API使わない方が簡単です。頑張ってください()
リンク先のように「◯◯◯個のブロックを削除」というところをカウントしていきます。 daidaidai1 wrote:
興味本位の質問なんですが、プロジェクトに使用されているブロックの数を知る方法はありますか?
自分のプロジェクトでどのくらい使われているのか気になりました。
ブロックを置いているところの後ろを右クリックすると、一つのスプライトのブロックは分かります。
そうです。自動化するにはそうします。詳しくは…… なにか必要になった時にprojects.jsonを整形した上で眺めてみれば、そこそこのことは分かると思います。 略
project.jsonのtargetsのBlocksから数を調べなければいけないのですか?いまいちJSONハックは行ったことがないので詳しく教えてもらえると幸いです。
Last edited by tabakenn (Aug. 25, 2023 10:24:38)
- Catapult-
-
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#779
ブロック数を直接求めるAPIは残念ながらありませんが、jsonを取得できたのなら、あと一歩です。
project.jsonのブロック周りの構造は大体以下の通りです。
targets内のすべてのスプライトとステージの情報を一つずつ読み込み、さらにその中にあるblocks内の、shadow:falseなブロックだけを数えることで、プロジェクトに使われているブロック数を取得できます。
ブロック数を直接求めるAPIは残念ながらありませんが、jsonを取得できたのなら、あと一歩です。
project.jsonのブロック周りの構造は大体以下の通りです。
いろいろ: いろいろ //このtargetsの中にそれぞれのスプライトのデータがある targets: [ //0番目がステージのデータ、それ以降スプライトのデータ { いろいろ: いろいろ //このblocksに全ブロックデータがある blocks: { //下のでたらめな文字列がブロックID 0r4vQwfG9~./-6xB@Jng: { いろいろ: いろいろなブロックのデータ(ex.種類、座標、引数など), //ここ重要!このshadowというパラメータは、「そのブロックが実際につかめるか」を表す真偽値(詳しくは割愛) //これがfalseの場合触れて、trueの場合は触れない((▼どこかの場所)みたいなあるブロック専用の引数だったりする) shadow: false }, ほかのブロックID: {ブロックのデータ}, ほかのブロックID: {ブロックのデータ}… } }, //スプライトのデータが続く {}, {}, たくさん… ]
targets内のすべてのスプライトとステージの情報を一つずつ読み込み、さらにその中にあるblocks内の、shadow:falseなブロックだけを数えることで、プロジェクトに使われているブロック数を取得できます。
- buhiton
-
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
ここはscratch-wwwの話もできますか?できるようだったら#1に書いておいたほうがいいですよ。
- inoking
-
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
そもそもリポジトリ名を限定していません。 ここはscratch-wwwの話もできますか?できるようだったら#1に書いておいたほうがいいですよ。
- Mario-098
-
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
音を再生するときに、音量を指定することができますが、ピッチなどの音の効果などは指定することができますか?もしできるならcodeを書いてもらえるとありがたいです。
- ruff_G
-
8 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
四角い選択欄に「( )と( )」を埋め込むことはできますか? #649
Scratch3.0では型がしっかりしているので不可能に近いです。
json内で、丸い入力欄はブロック内の値として保存されているのに対し、
四角い選択欄はブロックとして保存されています。
- kouryou118103
-
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
やってみればわかると思いますが、できません。
JSONハックをしたら、はめることができます。
JSONハックをしたら、はめることができます。
- OryzaeA
-
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#788
忘れ去られないようにもう一回います。
音を再生するときに、音量を指定することができますが、ピッチなどの音の効果などは指定することができますか?もしできるならcodeを書いてもらえるとありがたいです。
音楽ブロックでは細かいピッチを変える機能はありませんが、音ブロックなら普通にできますね。
( ピッチ)の効果を (50) にする
こちらのプロジェクトが参考になります。
Last edited by OryzaeA (Oct. 5, 2023 01:27:26)
- ruff_G
-
8 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
どこをどう書けばいいですか?blocksの後にブロックのデータがあるところまではわかってます。 やってみればわかると思いますが、できません。
JSONハックをしたら、はめることができます。
- yudetamagotiizu
-
2 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
部外者失礼します。まず入れたい丸のやつを入れたプロジェクトを保存しますどこをどう書けばいいですか?blocksの後にブロックのデータがあるところまではわかってます。 やってみればわかると思いますが、できません。
JSONハックをしたら、はめることができます。
(音量) 歩動かす。それでjsonハックをします。でfalseをtrueにすればできると思います。まちがっていたらすいません
- ruff_G
-
8 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
ステルスブロック(見えないし動かせないブロック)が誕生しました。部外者失礼します。まず入れたい丸のやつを入れたプロジェクトを保存しますどこをどう書けばいいですか?blocksの後にブロックのデータがあるところまではわかってます。 やってみればわかると思いますが、できません。
JSONハックをしたら、はめることができます。(音量) 歩動かす。それでjsonハックをします。でfalseをtrueにすればできると思います。まちがっていたらすいません
- ruff_G
-
8 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
書き換え前だとこんな感じです。ステルスブロック(見えないし動かせないブロック)が誕生しました。部外者失礼します。まず入れたい丸のやつを入れたプロジェクトを保存しますどこをどう書けばいいですか?blocksの後にブロックのデータがあるところまではわかってます。 やってみればわかると思いますが、できません。
JSONハックをしたら、はめることができます。(音量) 歩動かす。それでjsonハックをします。でfalseをtrueにすればできると思います。まちがっていたらすいません
{"targets":[{"isStage":true,"name":"Stage","variables":{"`jEk@4|i[#*?(8x)AV.-my variable":["変数",0]},"lists":{},"broadcasts":{},"blocks":{},"comments":{},"currentCostume":0,"costumes":[{"name":"背景1","dataFormat":"svg","assetId":"cd21514d0531fdffb22204e0ec5ed84a","md5ext":"cd21514d0531fdffb22204e0ec5ed84a.svg","rotationCenterX":240,"rotationCenterY":180}],"sounds":[{"name":"ポップ","assetId":"83a9787d4cb6f3b7632b4ddfebf74367","dataFormat":"wav","format":"","rate":44100,"sampleCount":1032,"md5ext":"83a9787d4cb6f3b7632b4ddfebf74367.wav"}],"volume":100,"layerOrder":0,"tempo":60,"videoTransparency":50,"videoState":"on","textToSpeechLanguage":null},{"isStage":false,"name":"スプライト1","variables":{},"lists":{},"broadcasts":{},"blocks":{"%rM%GS5ar-?6A~i$t0j=":{"opcode":"motion_movesteps","next":null,"parent":null,"inputs":{"STEPS":[3,".XoELrbCL!@$wwJrG_Pv",[4,"10"]]},"fields":{},"shadow":false,"topLevel":true,"x":101,"y":156},".XoELrbCL!@$wwJrG_Pv":{"opcode":"operator_join","next":null,"parent":"%rM%GS5ar-?6A~i$t0j=","inputs":{"STRING1":[1,[10,"りんご "]],"STRING2":[1,[10,"バナナ"]]},"fields":{},"shadow":false,"topLevel":false},"j3h}tQ_+*ns~jxj?|Eea":{"opcode":"data_setvariableto","next":null,"parent":null,"inputs":{"VALUE":[1,[10,"0"]]},"fields":{"VARIABLE":["変数","`jEk@4|i[#*?(8x)AV.-my variable"]},"shadow":false,"topLevel":true,"x":53,"y":310}},"comments":{},"currentCostume":0,"costumes":[{"name":"コスチューム1","bitmapResolution":1,"dataFormat":"svg","assetId":"bcf454acf82e4504149f7ffe07081dbc","md5ext":"bcf454acf82e4504149f7ffe07081dbc.svg","rotationCenterX":48,"rotationCenterY":50},{"name":"コスチューム2","bitmapResolution":1,"dataFormat":"svg","assetId":"0fb9be3e8397c983338cb71dc84d0b25","md5ext":"0fb9be3e8397c983338cb71dc84d0b25.svg","rotationCenterX":46,"rotationCenterY":53}],"sounds":[{"name":"ニャー","assetId":"83c36d806dc92327b9e7049a565c6bff","dataFormat":"wav","format":"","rate":44100,"sampleCount":37376,"md5ext":"83c36d806dc92327b9e7049a565c6bff.wav"}],"volume":100,"layerOrder":1,"visible":true,"x":0,"y":0,"size":100,"direction":90,"draggable":false,"rotationStyle":"all around"}],"monitors":[],"extensions":[],"meta":{"semver":"3.0.0","vm":"2.0.5","agent":"Mozilla/5.0 (iPad; CPU OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1"}}
- kouryou118103
-
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
音エディター(正しい名前か分かりません)から「速く」を押すと速くできますが、これではダメですか?
- ham-chan
-
3 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#801
元の音源を編集してもいいなら、編集ソフトやサイトで編集するのが一番楽で速いのではないでしょうか
元の音源を編集してもいいなら、編集ソフトやサイトで編集するのが一番楽で速いのではないでしょうか