Discuss Scratch

yukku
Scratcher
1000+ posts

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

ninnikuman wrote:

ハッキング!?
[b][i][u][/u][/i][/b][s][/s]君の心をハッキング。
[big][/big]結論:@ninnikumanをフォローしろ!
scratchでいうハッキングとは、トピック名にある通り「動作や構造を解析すること」です。
wikiの日本語フォーラムに関する注意書き

Japanese wiki wrote:

公共の場所ですから、トピックで特にルールが決められていない限り、基本的には「です・ます調」の敬語で話しましょう。
と書いてあるように、敬語で話しましょう。

↑こういう線の下に宣伝とか書いてる人がよくいるけど、こういう線より下の文章には「署名」って名前がついていて、設定を行うと自動で投稿にくっついてきます。詳しいこととか設定方法はこのページにあるので確認してみてください。
この「署名」以外で関係ないこととかをするのは基本禁止なのでそういうことやりたいと思ったら署名でやってください。

日本語フォーラムの使い方っていうプロジェクトを作ったのでどうぞ。
KimiruHamiru
New to Scratch
500+ posts

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

apple502j wrote:

だれも気づいていないようだが…
わたしなりにまとめてみました。

「どれかのキー」がエンターキーを含むようになった
2019/07/末頃のScratch3.0オンラインエディタの更新で、
[どれかの v]キーが押されたとき
ブロックと
<[どれかの v]キーが押された>
ブロックが、「enterキーに反応」するようになった。過去バージョンでは「enterキーに反応」しなかった。
オフラインエディタの対応予定は未定だが、慣例的にはオンラインエディタ更新から一か月後遅れ程度で更新される場合が多い。

実用上のヒント
2019/09/01時点では、両ブロックの「選択候補ドロップリスト」に、“enterキーに相当する候補”が日本語英語問わず追加されていない。
このため、
[どれかの v]キーが押されたとき
ブロックに関しては、エンターキーが押されたことを「特定」する手段がない。
一方、
<[どれかの v]キーが押された>
については、キー指定部分に値ブロックが利用できるので、「“enter”という文字列が設定された値ブロック」を利用すれば、
つまり、
[変数 v]を[enter]にする
もし<(変数)キーが押された>なら
[ニャー v]の音を鳴らす
end
などと書けば、実用上、エンターキーが押されたことを「特定」できる。
inoking
Scratcher
1000+ posts

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

ちょっとだけ補足させてもらうと
#92 のように
「Makey Makey」拡張機能を使えばイベントにも対応できるということですね。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
apple502j
Scratcher
1000+ posts

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

Pythonで「sb3」というライブラリを作ってみました。(Py3.6+対応)
sb3ファイル・sprite3ファイルをパースできます。
import sb3
project, assets = sb3.open_sb3("my_game.sb3")
print(f"ステージのスクリプト数: {len(project.targets[0].block_info.scripts())}スクリプト")
print(f"User Agent:{project.meta.user_agent}")

インストール: pip3 install sb3

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
apple502j
Scratcher
1000+ posts

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

Scratch 3.0のもうすぐきそうな更新は、
・登録画面の変更
・ペイントエディター
が中心になりそうですね。
とくに登録画面が変わったら市販本がやばそう。

https://github.com/LLK/scratch-www/pull/3396 <- 画像アリ

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
iteyashigassan
Scratcher
14 posts

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

apple502j wrote:


だれも気づいていないようだが…
こっちのほうがいい

<[([enter] と []) v] キーが押された>

Last edited by iteyashigassan (Nov. 23, 2019 23:47:06)

apple502j
Scratcher
1000+ posts

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

https://github.com/LLK/scratch-vm/pull/2322
ひさしぶり?のプルリクです。またバグ修正。
リスト改名が反映されないバグの修正です。
このコードにたどり着くまでけっこう時間かかりました… ステージモニター関連のコード全部、そしてその元データが来るvm-listener-hoc、パース処理の部分から、vmが原因と。あとは検索ですね。

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
apple502j
Scratcher
1000+ posts

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

「連絡先」ページに更新が入るようです。https://github.com/LLK/scratch-www/pull/3719

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
takkun0530
Scratcher
100+ posts

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

Apple502jさん
それはお知らせ・ニュースのほうがいいのでは?
abee
Scratcher
1000+ posts

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

「ようです」はニュースにしない方が良いと思います。
takkun0530
Scratcher
100+ posts

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

わかりました。
でもここもトピ違いでは?
abee
Scratcher
1000+ posts

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

2.0までのハッキングはハッキングブロックを指すことが多かったですが、このトピックでは#1で「動作や構造を解析すること」と定義されています。
#110のリンク先をみると、その更新のために行われたJavaScriptのコードが示されているので、必ずしもトピ違いとは言えないと思います。ただし、「「連絡先」ページに更新が入るようです」だけだと誤読されても仕方ないかもしれません。
takkun0530
Scratcher
100+ posts

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

abee wrote:

2.0までのハッキングはハッキングブロックを指すことが多かったですが、このトピックでは#1で「動作や構造を解析すること」と定義されています。
#110のリンク先をみると、その更新のために行われたJavaScriptのコードが示されているので、必ずしもトピ違いとは言えないと思います。
わかりました。ありがとうございます。
hclhcl
Scratcher
100+ posts

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

削除

Last edited by hclhcl (May 20, 2021 07:37:34)



おぬし、さては他のサイトがブロックされているからscratchをやっているな?
あなたは上の画像が見えないんですね。左上に小さい白い正方形のように表示されているやつです。本当は僕のユーザーネームが動くGIFなんですけどねぇ… どうやらあなたの端末にかかっている制限のせいで、僕がこの画像をアップしたcubeuploadというサイトがブロックされているようです。ブロックされてない人は上の画像が大きく表示されるのでここに書いてあることは下に隠れます。つまりこの文章が見える人は学校もしくは親によってその端末に制限がかけられている人だけだと分かります。
ttnr
Scratcher
62 posts

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

Scratchって、A~Z,0~9,space,矢印キー(デフォで選択できるやつ)以外のキーはできないのかな…。
そしてtxt,pngなどを読み込みと書き出しもできたら、テキストエディタとか作れるのに。
っと思ったらここを見つけました。
と、いうことで、内部にも精通してそうな皆様に質問です。
他のキーはできないのですか?
apple502j
Scratcher
1000+ posts

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

Enterキーもできます。(ただし、変数ブロックや「() と ()」などを使って「enter」を入力しないといけません)

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
kakurenbo
Scratcher
500+ posts

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

一部の記号(?, !, ", etc…)にも反応する様です。

Last edited by kakurenbo (March 5, 2020 02:22:18)


そう、私です。
yaakiyu
Scratcher
82 posts

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

(回数::control)をカウントしながら() 回繰り返す{
[変数 v] を (回数::control) にする
}::looks control
について
apple502jさんが「実は隠しブロックですが存在しているのです…」
ここで言っているのですが、
どうやってだすのですか?ハック関連のことだと思ったのでここに書きましたが、トピ違いでしたら移動します。

—言いたいこと—
活動減ります
(これは署名ですって書いている人何人いるんだろう…)
どうも、yaakiyuです。
pc変えないので環境をここに書きます。
My browser / operating system: Windows NT 10.0, Chrome 80.0.3987.149, No Flash version detected
apple502j
Scratcher
1000+ posts

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

https://scratch.mit.edu/projects/208445070/ このプロジェクトにあるので、急ぎでほしい人はここから。

これはプロジェクトの中身が入っているJSONファイルをいじると出てきます。「もし」ブロックをプロジェクトに置いて、「control_if」を「control_for_each」に書き換え、引数の変更などを行うと(詳細はめんどくさいので略します)このブロックとなります。

これはScratch 2.0のベータ版で追加され、その後すぐに削除されましたが、実装コードは残っています。(そしてScratch 3.0へ受け継がれました。)

署名は、ディスカッションフォーラムの機能である。署名は、その人のすべての投稿の下部に追加される。署名は、BBCodeで記述できる。 署名を追加/変更/削除したい場合は、ディスカッションフォーラムのホームの一番下に行き、「Change your signature」を押す。署名の大きさは150pxまでである。これには、改行、画像を含む。- Japanese Scratch-Wiki 「署名
yaakiyu
Scratcher
82 posts

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

ありがとうございます。
もう一つ
(カウンター::control)
カウンターに足す::control
サイトを落とすときに使われるらしいのですが
これもどうやってだすかわかりません。教えてください。

Last edited by yaakiyu (March 5, 2020 09:31:36)


—言いたいこと—
活動減ります
(これは署名ですって書いている人何人いるんだろう…)
どうも、yaakiyuです。
pc変えないので環境をここに書きます。
My browser / operating system: Windows NT 10.0, Chrome 80.0.3987.149, No Flash version detected

Powered by DjangoBB