Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch 3.0 をハック(動作や構造を解析すること)しよう!
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
バージョンと変更履歴の調べ方についての情報へのリンクです。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- -p-e-n-
- Scratcher
81 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
これで少しだけ楽にハックできますね。 朗報。Scratch LinkとScratch Desktopがオープンソース化。
https://github.com/LLK/scratch-desktop
https://github.com/LLK/scratch-link
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
リンクです。ここに書かれているような Git の各ブランチやタグが何なのかとかといった情報は バージョンと変更履歴の調べ方についての情報への
どうやって調べればよいのですか?
すみません、Git は実用レベルでは使ったことないもので。。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- apple502j
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
developブランチが「最新版」
masterブランチが「本番環境」です。
簡単に説明? しますと、(まだ簡単でないかもしれませんが)
https://github.com/LLK/scratch-www/blob/master/package.json
このpackage.jsonは本番環境のもので、「scratch-gui」のところに「いつの時点のscratch-guiか」が書いてあります。
つまり、scratch-guiのバージョンは「20190418155019」です。
https://github.com/LLK/scratch-gui/releases を見てバージョンで検索すると、今回は「20190418155019」が見つかりました。
その時点のscratch-guiの中身を見るには、-○- マークの右の英数字の羅列をクリックします。(下図黄色部分)
その後、「Browse files」をクリックします。(右上)
そのあと、「package.json」を選びます。
その中の
が、現在のVMのバージョンです。
masterブランチが「本番環境」です。
簡単に説明? しますと、(まだ簡単でないかもしれませんが)
https://github.com/LLK/scratch-www/blob/master/package.json
このpackage.jsonは本番環境のもので、「scratch-gui」のところに「いつの時点のscratch-guiか」が書いてあります。
"scratch-gui": "0.1.0-prerelease.20190418155019",
https://github.com/LLK/scratch-gui/releases を見てバージョンで検索すると、今回は「20190418155019」が見つかりました。
その時点のscratch-guiの中身を見るには、-○- マークの右の英数字の羅列をクリックします。(下図黄色部分)
その後、「Browse files」をクリックします。(右上)
そのあと、「package.json」を選びます。
その中の
"scratch-vm": "0.2.0-prerelease.20190417203423",
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
apple502j さん、ありがとうございます 。
こちら の
https://github.com/LLK/scratch-www/pulls?q=is%3Apr+is%3Aclosed
で左端のアイコンが紫の「Merged pull request」になっているものを探すというので合ってますか?
#46 の例の場合、日付からすると
https://github.com/LLK/scratch-www/pull/2910
だと思うのですがそこには
「Pull in latest scratch-gui」
とあり、更にたどると
https://github.com/LLK/scratch-www/pull/2910/commits/9aab911d67e0fa6960b56e5f33c8fc077d444425
「20190417215243」とあり
#46 に書かれている「20190418155019」とは異なっています。
この調べ方のどこがおかしいのでしょうか?
こちら の
「master向きプルリクがないか検索」についてです。 変更内容を確認する最善の方法は、scratch-系のリポジトリをWatchしたり、scratch-wwwのmaster向きプルリクがないか検索したりすることです。
https://github.com/LLK/scratch-www/pulls?q=is%3Apr+is%3Aclosed
で左端のアイコンが紫の「Merged pull request」になっているものを探すというので合ってますか?
#46 の例の場合、日付からすると
https://github.com/LLK/scratch-www/pull/2910
だと思うのですがそこには
「Pull in latest scratch-gui」
とあり、更にたどると
https://github.com/LLK/scratch-www/pull/2910/commits/9aab911d67e0fa6960b56e5f33c8fc077d444425
「20190417215243」とあり
#46 に書かれている「20190418155019」とは異なっています。
この調べ方のどこがおかしいのでしょうか?
Last edited by inoking (April 20, 2019 15:43:18)
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- apple502j
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
https://github.com/LLK/scratch-www/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Amerged+base%3Amaster
この検索が一番正確です。
いまのscratch-gui最新版は20190419211608ですね。
https://github.com/LLK/scratch-www/pull/2914/files
基本master向きのプルリクは「[master]」で始まります。
この検索が一番正確です。
いまのscratch-gui最新版は20190419211608ですね。
https://github.com/LLK/scratch-www/pull/2914/files
基本master向きのプルリクは「[master]」で始まります。
Last edited by apple502j (April 20, 2019 15:53:34)
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
あぁ、
プル内容の「Commits」のほうではなく「Files changed」のほうを見ればいいのですね。
それで見ると
2910 についても
https://github.com/LLK/scratch-www/pull/2910/files
で「20190418155019」となり #46 の話と一致しました。
ありがとうございます。
プル内容の「Commits」のほうではなく「Files changed」のほうを見ればいいのですね。
それで見ると
2910 についても
https://github.com/LLK/scratch-www/pull/2910/files
で「20190418155019」となり #46 の話と一致しました。
ありがとうございます。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
特定のバージョンの状態に戻して、または、ブロックの処理を変更して、動作確認をしたい場合
どれどれをビルドすればよいのでしょうか?
Scratch 2.0 の場合、
scratch-flash をビルドして
できた Scratch.swf をオフラインエディターのインストール先のものと差し替えると
実現できていました。
どれどれをビルドすればよいのでしょうか?
Scratch 2.0 の場合、
scratch-flash をビルドして
できた Scratch.swf をオフラインエディターのインストール先のものと差し替えると
実現できていました。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- apple502j
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
特定のバージョンの状態に戻すときは、zipファイルをダウンロードするのが一番簡単です。
実行時は
を行った後、「localhost:8601」にアクセスします。
初回実行時は最初に「npm i」がいります。
また、scratch-vmなどの変更を反映させたい場合は、ja:Scratch 3.0の拡張機能を作ってみよう/下準備のように、npm linkを使います。
実行時は
npm start
初回実行時は最初に「npm i」がいります。
また、scratch-vmなどの変更を反映させたい場合は、ja:Scratch 3.0の拡張機能を作ってみよう/下準備のように、npm linkを使います。
Last edited by apple502j (April 21, 2019 07:13:04)
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
重い腰を上げ、Scratch 3.0の拡張機能を作ってみようにしたがって環境構築してみました。
おかげさまでソースから実行まで出来るようになりました。ありがとうございました。
一点だけ、
のところが分かりにくかったです。
「npm start を実行し「Compiled successfully.」が出たら、そのままブラウザで http://localhost:8601/ にアクセスする」
ということが分からず、コマンド応答が帰ってこないのをずっと待っていました
また、Ctrl+C で終了することも書いてあったほうがより良いかと思います。
おかげさまでソースから実行まで出来るようになりました。ありがとうございました。
一点だけ、
npm start
「npm start を実行し「Compiled successfully.」が出たら、そのままブラウザで http://localhost:8601/ にアクセスする」
ということが分からず、コマンド応答が帰ってこないのをずっと待っていました
また、Ctrl+C で終了することも書いてあったほうがより良いかと思います。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
スケジューリング処理が変わった? について:
scratch-vm を scratch-vm:20190329172358 (scratch-gui:20190404100408 付属分) に差し替えると発生する
ことが分かりました。
さらに調査すると scratch-vm:20190321151527 に対し
Make Scratch 3 project timer more compatible with Scratch 2 currentMS… の以下4ファイルを差し替えただけで発生することが分かりました。
・src/engine/block-utility.js
・src/engine/runtime.js
・src/engine/sequencer.js
・src/io/clock.js
「タイマーを、より Scratch 2 に互換のあるものにする」というタイトルなので、
既存のプロジェクトが動かなくなっている以上、これはバグですね。
直してもらうには「Issues」に上げるのが手順だと思いますが
再現プロジェクトを作ったりといったことを考えると頭が痛いです。。。
scratch-vm を scratch-vm:20190321151527 ( ここ一週間くらいでscratch-gui:20190321152316 付属分) に差し替えると発生せず
スケジューリング処理が変わった気がします。
FPS を自動で調整するために
各スプライトで待ち合わせをしている作品があるのですが
それがカクカク動くようになってしまいました。
scratch-vm を scratch-vm:20190329172358 (scratch-gui:20190404100408 付属分) に差し替えると発生する
ことが分かりました。
さらに調査すると scratch-vm:20190321151527 に対し
Make Scratch 3 project timer more compatible with Scratch 2 currentMS… の以下4ファイルを差し替えただけで発生することが分かりました。
・src/engine/block-utility.js
・src/engine/runtime.js
・src/engine/sequencer.js
・src/io/clock.js
「タイマーを、より Scratch 2 に互換のあるものにする」というタイトルなので、
既存のプロジェクトが動かなくなっている以上、これはバグですね。
直してもらうには「Issues」に上げるのが手順だと思いますが
再現プロジェクトを作ったりといったことを考えると頭が痛いです。。。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
朗報:
50MB のプロジェクトサイズ制限がなくなっているようです(いつからそうだったのかは不明)。
scratch-gui, scratch-vm のソースから検索してもそれらしいところは見つかりませんでした。
実際、58MB の .sb3 を保存できました。
50MB のプロジェクトサイズ制限がなくなっているようです(いつからそうだったのかは不明)。
scratch-gui, scratch-vm のソースから検索してもそれらしいところは見つかりませんでした。
実際、58MB の .sb3 を保存できました。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- apple502j
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
逆にバグではないでしょうか。
サイズ制限をなくす提案は却下されています。
https://scratch.mit.edu/discuss/topic/50874/?page=12#post-3288913
サイズ制限をなくす提案は却下されています。
https://scratch.mit.edu/discuss/topic/50874/?page=12#post-3288913
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#53 について:
すみません、作品側のバグでした。
再現プロジェクトを作るために絞り込んでいくなかで発見しました。
Scratch 2.0 と比べると動作は変わったことになりますが
そもそも使い方が間違っていたのでシステム側は問題ありません。
元々バグであったものが、スケジューリング処理が変わったために発現したようです。
お騒がせして申し訳ありませんでした。
すみません、作品側のバグでした。
再現プロジェクトを作るために絞り込んでいくなかで発見しました。
Scratch 2.0 と比べると動作は変わったことになりますが
そもそも使い方が間違っていたのでシステム側は問題ありません。
元々バグであったものが、スケジューリング処理が変わったために発現したようです。
お騒がせして申し訳ありませんでした。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- oyamaa
- New to Scratch
5 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
エディタに最初からあるブロックを表示させないようにすることはできるのでしょうか。
「ブロック定義」というのは使わないので隠したいと考えています。
「ブロック定義」というのは使わないので隠したいと考えています。
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
あ、そういえば、、
フォーラムのソースは別管理なのでしたね。
https://scratch.mit.edu/discuss/post/3354832/
https://scratch.mit.edu/discuss/post/3356123/
フォーラムのソースは別管理なのでしたね。
https://scratch.mit.edu/discuss/post/3354832/
https://scratch.mit.edu/discuss/post/3356123/
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- apple502j
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
scratch-blocksの改造ですね。 エディタに最初からあるブロックを表示させないようにすることはできるのでしょうか。
「ブロック定義」というのは使わないので隠したいと考えています。
やったことがないのでわかりませんが、難しそうな予感がします。
署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名」
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
以下を外せばサクッと外れそうな気もします。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 は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- inoking
- Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
ありがとうございます。 行の番号にカーソルを載せて「・・・」をクリックしてCopy permalink をクリックしたらリンクがコピーされるはずです
#Lxx を付加するといいみたいですね。
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている