Discuss Scratch

oyamaa
New Scratcher
5 posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

inoking wrote:

apple502j wrote:

oyamaa wrote:

エディタに最初からあるブロックを表示させないようにすることはできるのでしょうか。
「ブロック定義」というのは使わないので隠したいと考えています。
scratch-blocksの改造ですね。
やったことがないのでわかりませんが、難しそうな予感がします。
以下を外せばサクッと外れそうな気もします。
https://github.com/LLK/scratch-blocks/blob/develop/blocks_vertical/default_toolbox.js
  '<category name="%{BKY_CATEGORY_MYBLOCKS}" id="more" colour="#FF6680" secondaryColour="#FF4D6A" custom="PROCEDURE">' +
'</category>' +
※行指定してリンク張るのってどうするのでしょう?

回答ありがとうございます。自分にはまだ難しかったみたいです。
scratch-blockの改造になるということは分かりましたが、私はscratch-vmとscratch-guiしかインストールしていません。
この場合はscratch-blockもnpm linkする必要があるのでしょうか?

もしかしたらnpm関連の質問になるかもしれませんが、よろしければ回答お願いします。
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

そうなりますね。
ただし、scratch-blocksはWindowsでビルドできないのと、Closureがいります。
また、blocksでは「npm run prepublish」がいるようです。
oyamaa
New Scratcher
5 posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

apple502j wrote:

そうなりますね。
ただし、scratch-blocksはWindowsでビルドできないのと、Closureがいります。
また、blocksでは「npm run prepublish」がいるようです。

分かりました。ありがとうございます。
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

.sb3 内の project.json は改行が削られていますが
簡単に .sb2 時代のような形式で閲覧編集する方法があれば教えてください。
abee
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

私は、Visual Studio Codeの自動フォーマット機能(Alt+Shift+F)を使っています。
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

Pythonだったら
cat project.json | python3 -m json.tool > project.json
ですね。
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

ご回答ありがとうございます。

abee wrote:

私は、Visual Studio Codeの自動フォーマット機能(Alt+Shift+F)を使っています。
Visual Studio は入れてないので。。
無償エディションでも出来るならこれもいいかもしれません。

apple502j wrote:

cat project.json | python3 -m json.tool > project.json
これは現状でも試せました。直接編集はできないのですね。
abee
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

Visual Studio Codeは無償のエディタです。
https://azure.microsoft.com/ja-jp/products/visual-studio-code/

Last edited by abee (May 26, 2019 10:27:43)

inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

abee wrote:

Visual Studio Codeは無償のエディタです。
おぉ、ありがとうございます。
「Visual Studio」の「Codeの自動フォーマット機能」かと思いました。汗、、、
itnkmkw
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

inoking wrote:

abee wrote:

Visual Studio Codeは無償のエディタです。
おぉ、ありがとうございます。
「Visual Studio」の「Codeの自動フォーマット機能」かと思いました。汗、、、
VScodeは便利ですよ!
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

なんでだろう、いじってもいないコードで、ビルドが失敗する…
hhayyatto
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

apple502j wrote:

なんでだろう、いじってもいないコードで、ビルドが失敗する…
エラーメッセージはどんな感じでしたか?
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

質問コーナー2 #9212 辺りの話です。

まず、クラッシュ画面になっている時点でバグ確定です(作品の保存もできない、たちの悪いもの)。
 ※件の質問は
 バグを指摘しているのか、内部構造の話をしているのか(どちらも質問コーナーとはトピ違い)
 よく分からず、質問の目的が見えません。

問題は、それが
・プログラマーの考慮もれなのか(ただのミス)
・使い方が間違っているのか(まだ同情できる)
ですが、

よく考えると
(ListA :: list)を [ListB v] に追加する
があるので
([list v] の [all] 番目 :: list)
は不正なインデックス同様に意味がありませんね。
そもそも単独の要素を指す「□番目」なので要素の集合を指す「all」は意味的におかしいです。

つまり、使い方が間違っていて
システムがその不正な入力に対応できていないということです。

pandakun7 wrote:

デペロッパツールでのエラーは、TypeError: Cannot read property ‘toString’ of undefinedなので、
何かが未定義かもですね。
JavaScript の undefined 値(未初期化値)でしょうね。
逆に質問ですが、デペロッパツールでのエラーはどうやって確認するのでしょうか?
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

JSがminifiedされていないバージョンで確認するとよいです。
(自家ビルド)

修正はできたんだけど、react-intlのバグに振り回されて環境再構築中…
pandakun
Scratcher
19 posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

GoogleChromeのデペロッパーツールで確認しました。
WindowsならF12を押して「Console」のタブを開いて、
クラッシュするブロックを実行すればエラーメッセージが表示されます。
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

ブラウザの「開発ツール」のことだったのですね。
「JSがminifiedされていないバージョンで確認するとよいです」はどうやればよいのか大まかに教えてもらえませんか。
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

inoking wrote:

ブラウザの「開発ツール」のことだったのですね。
「JSがminifiedされていないバージョンで確認するとよいです」はどうやればよいのか大まかに教えてもらえませんか。
JSがminifiedされている場合、エラーに出てくる変数もminifiedされて「e」「a」など意味のない文字になるので、minifiedされていないバージョンで確認するとエラーの発生箇所がわかりやすくなります。
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

apple502j wrote:

JSがminifiedされている場合、エラーに出てくる変数もminifiedされて「e」「a」など意味のない文字になるので、minifiedされていないバージョンで確認するとエラーの発生箇所がわかりやすくなります。
その状態で開発ツールで見るということでしょうか。
追加で申し訳ありませんが
minifiedされていないバージョンをビルドする手順がどこかにあれば教えてもらえますか。
itnkmkw
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

inoking wrote:

質問コーナー2 #9212 辺りの話です。

まず、クラッシュ画面になっている時点でバグ確定です(作品の保存もできない、たちの悪いもの)。
 ※件の質問は
 バグを指摘しているのか、内部構造の話をしているのか(どちらも質問コーナーとはトピ違い)
 よく分からず、質問の目的が見えません。

それは質問者様の語彙力問題は多少あっても、ただ淡々と原因を答えればいいのではないでしょうか。質問者様は56postsですし、バグ報告コーナーなどの存在を知らない可能性は十分にあります。バグの定義などもわからないかもしれませんしね。原因を聞いているのですから質問コーナーには適していると思います。

inoking wrote:

問題は、それが
・プログラマーの考慮もれなのか(ただのミス)
・使い方が間違っているのか(まだ同情できる)
ですが、

よく考えると

は不正なインデックス同様に意味がありませんね。
そもそも単独の要素を指す「□番目」なので要素の集合を指す「all」は意味的におかしいです。

つまり、使い方が間違っていて
システムがその不正な入力に対応できていないということです。

やはりそういうことでしたか。面白いですね、こういう原因究明の試行錯誤は!

Last edited by itnkmkw (May 29, 2019 12:23:07)

inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

質問の意図により答えが変わります。
実際よく分からなかったので、私はハック的観点から答えました。

もしかしたら
「バグですか?」という単純な質問だったのかもしれません。
# もうこの話は終わりで。

Last edited by inoking (May 29, 2019 13:16:24)

Powered by DjangoBB