Discuss Scratch

TNTSuperMan
Scratcher
100+ posts

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

#893
まずscratch-wwwにscratch-vmを参照するような部分はないため
普通にpackage.jsonに従ってscratch-guiと一緒にscratch-vmを入れるのがいいですね

コマンドでnpm run buildをするとrmコマンドが必要らしいのでWSL(Ubuntu)で
npm run buildを実行してからnpm run buildをしてからnpm startすると普通にScratchの見た目のは出てきました。
(内部データベースとかよくわからないためすべてのプロジェクトのサムネがリンク切れなどありますが)

その質問に答えるとするならば個人的には「一部的に」ですかね、プロジェクトを作る(?)方法が分からなかったためです。
起動時引数とかは特にありませんでした。そして、vmとguiをlinkする必要はないと思われます。
あと時折人気ページなどがCannot GET /explore/…ってのが出ますね。そこについてでしょうか。
プロジェクトページは上のメニューバーは正常ですが白紙でした。

追記:すみません、projects.scratch.mit.eduなどのAPI系のことでしたか?
そこはデフォルトでいいとおもいますが…?自分はまだよくわからないです。

もうちょっと詳細に質問してほしいです。

Last edited by TNTSuperMan (Sept. 20, 2024 14:26:41)

yu-yu0202
Scratcher
100+ posts

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

TNTSuperMan wrote:

#893
追記:すみません、projects.scratch.mit.eduなどのAPI系のことでしたか?
そこはデフォルトでいいとおもいますが…?自分はまだよくわからないです。

もうちょっと詳細に質問してほしいです。
APIのことです、不正確な質問をしてしまい申し訳ないです。
完全にScratchとAPI系を切り離してサイトを構築したくてこのような質問をさせていただきました。
inoking
Scratcher
1000+ posts

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

Black-takashi_01 wrote:

まえ、どこかのディスカッションフォーラムで
https://scratch-mit-edu.ezproxyberklee.flo.org/users/Black-takashi_01/favorites/の
好きなプロジェクト版のリンクを見たんですが、どんなのかどなたかわかりますかね?
この辺を読んでみてください。
inoking
Scratcher
1000+ posts

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

Scratchスクリプトクイズ #3221 より:

inoking wrote:

この動作は
メッセージの受信処理が完了していないときに再度メッセージを受け取った場合の動作(再度、頭から実行される)と
「ずっと」による待ちの処理、
それに
[スプライトの他のスクリプトを止める v]
の動作が絡んで、かなりトリッキーになっていますね。
実行環境に依存するかもしれません。
メッセージの受信処理が完了していないときに 再度メッセージを受け取った場合の動作は
以下のようになっているようです。
・通常、即、頭から再実行される
・待ち状態のときは、解除に1フレーム?を要してから、頭から再実行される

私は前者だけだと思っていたのですが、後者のパターンもあるようです。
サンプルを作ったので試してみてください。
メッセージ処理中に同じメッセージを受信したときの動作

これは今まで出ていなかった情報かと思います。
abee
Scratcher
1000+ posts

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

Scratchのソースコードライセンスが、三条項BSDライセンスからAGPLに変更されました。今後、MODにソースコード公開義務が生じます。これはソースコードを公開していない一部の商用MODに影響があると思われます。
Open Source Policy — Scratch Foundation
一般の利用者には影響ありません。
今回の変更にScratch Blocksは含まれていないため、見た目がScratchと同じだけのMakeCodeなどにも影響はありません。ScratchJr、Scratch 1.4、2.0も変わっていません。

Last edited by abee (Nov. 27, 2024 05:53:57)

5656godzilla
Scratcher
11 posts

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

enterキーなど一部の元々Scratchの判定で判定することができるキーはハックで出せるみたいです。
<key [enter v] pressed?>
when [enter v] key pressed
などのブロックですね。
だれでも知ってると思うけど((((
TNTSuperMan
Scratcher
100+ posts

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

#897
enterを入れるとエンターキーを検出できるハックは仕様っぽいです。
scratch-vm/src/io/keyboard.js
キーの部分がenterになっているとEnterキーを検出するようなコードが見られました。

それを言うと以下のようなものもあります。
<key [space] pressed?>//スペースキー
<key [left arrow] pressed?>//左矢印キー
そしてここ以外で2文字以上のキーが指定されたらブロックするようになってました。
なので@等の記号は使えるが他のAltやCtrlは使えない、ということでしょうか。
追記:5年前にspl237さんが意図的にenterキーを検出するコードを入れいていました。

Last edited by TNTSuperMan (Nov. 27, 2024 11:07:59)

inoking
Scratcher
1000+ posts

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

5656godzilla wrote:

enterキーなど一部の元々Scratchの判定で判定することができるキーはハックで出せるみたいです。
「JSON ハック」による「ハッキングブロック」は Scratch 3.0 の時点で できなくなった/まだできる
という話がありました(例えば #527)。
できたというのなら、その例を提示してください。

TNTSuperMan wrote:

#897
enterを入れるとエンターキーを検出できるハックは仕様っぽいです。
ここでの話は「ハッキングブロック」の話です。

Last edited by inoking (Nov. 27, 2024 15:12:22)

TNTSuperMan
Scratcher
100+ posts

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

#899
こういうことだと思ってました。すいません。
<([enter]と()) キーが押された>

Last edited by TNTSuperMan (Nov. 28, 2024 00:44:05)

_0xfffrog-
Scratcher
23 posts

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

#893

scratch-www on Github wrote:

To use it for your own project, you would have to look at all the places it makes backend calls, and create your own backend systems to perform those functions.
ここで“backend systems”とはapi.scratch.mit.edu, project.scratch.mit.edu, scratch.mit.edu/site-api/*, clouddata.scratch.mit.eduなどのことです。
「自分で作るしかない」らしいです。わたしが探した限りでは誰もapiのクローンを公開していないようです。
yu-yu0202
Scratcher
100+ posts

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

#901
ありがとうございます。
やはり公開していないんですね。
自分で作るしかないのか…
TNTSuperMan
Scratcher
100+ posts

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

#901
一応質問しますが、そのAPI群を作って公開することは許可されていますよね…?

Powered by DjangoBB