Discuss Scratch

kakurenbo
Scratcher
500+ posts

Scratch 3.0 の拡張機能について話すトピック

jsqsnbf wrote:

100%penの方法がよくわかりません
パラパラ漫画を思い浮かべてみましょう。
どんどん絵が変わっていくことにより、絵が動いて見えますよね。
100%penもそれと同じで、少しずつ変化させながら、penのみを使って描く、消すを繰り返しています。
ずっと
消す
描く::grey
end
定義を使うと、「画面を再描画せずに実行」が出来るので、
一瞬で描いたように見えるのです。

なお、この様な質問には、今後、質問コーナーを使うと、もっと沢山の方から回答をもらえたり、
更に詳しい事も知れたりします。
google検索等を使うのも一つの手でしょう。
質問コーナーを使うときは、#1をよく読んで、「何々を作っていって、この様な問題があり、どこをどうしたら改善されるか?」の様に、なるべく詳しく質問すると、もっともっとよい回答が得られるでしょう。
追記:penに関しては pen使い減少中についてを利用してみても良いかもしれません。

Last edited by kakurenbo (April 14, 2019 03:32:55)


そう、私です。
kotatsurin
Scratcher
4 posts

Scratch 3.0 の拡張機能について話すトピック

初めまして。kotatsu (こたつ)です。
作り始めた3.0拡張機能の紹介とアドバイスなども欲しくて投稿します。

非接触ICカードリーダーのPaSoRiパソリRC-S380をScratchで使えるようにしたいと思い、「PaSoRich」パソリッチ(仮名)という機能拡張を作り始めました。

まだ、作り始めたばかりで意図した動きにはほど遠いです。それでも、将来的には身近にあるICカードを組み合わせた楽しいScratchプロジェクトが作れるようになるといいなと思って、作業を続けてみたいと思っています。

正直、Javascriptで本格的にプログラミングするのは初めてで、3.0拡張機能やパソリのこともいろんなWebサイトを調べて参考にさせてもらいながら作っています。これでいいのか、どうしたら繰り返して成功できるのか、いろいろまだわかりません。

どんなことでもいいので、アドバイスや感想をもらえると嬉しいです。
(ディスカッションフォーラムへの書き込みも初めてです。私が何か分かってないことがあれば教えてください。)

Last edited by kotatsurin (May 27, 2019 13:43:30)


(username) [kotatsurin] (think happy)
(my project) [PaSoRich] <github/pasorich/>
inoking
Scratcher
1000+ posts

Scratch 3.0 の拡張機能について話すトピック

Scratch 3.0 をハック(動作や構造を解析すること)しよう! というトピックもあるので
そちらも参考になると思います。

GitHub に登録されているファイルからして既にご存知な内容かもしれませんが
例えばここなど。

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

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

Scratch 3.0 の拡張機能について話すトピック

inoking wrote:

Scratch 3.0 をハック(動作や構造を解析すること)しよう! というトピックもあるので
そちらも参考になると思います。

GitHub に登録されているファイルからして既にご存知な内容かもしれませんが
例えばここなど。

ありがとうございます!
いろんな情報を駆け足で巡っただけでしたので、この機会にゆっくり読んで勉強したいと思います。

(username) [kotatsurin] (think happy)
(my project) [PaSoRich] <github/pasorich/>
kotatsurin
Scratcher
4 posts

Scratch 3.0 の拡張機能について話すトピック

kotatsurin wrote:

初めまして。kotatsu (こたつ)です。
作り始めた3.0拡張機能の紹介とアドバイスなども欲しくて投稿します。

いろいろ見直しをして,かなり意図した動きに近いものが出来てきました。
どんな応用が出来るかを考えながら,ブロック構成や裏側のロジックをブラッシュアップしてみます。

提供方法についてご示唆があれば,いただけると助かります。

Last edited by kotatsurin (March 8, 2020 09:32:12)


(username) [kotatsurin] (think happy)
(my project) [PaSoRich] <github/pasorich/>
kotatsurin
Scratcher
4 posts

Scratch 3.0 の拡張機能について話すトピック

ICカードリーダーを使えるようにする拡張機能「PaSoRich」を試すデモサイトを作ってみました。

Scratch 3.0 GUI with PaSoRich


ご意見やご感想,アイデアやアドバイスなど随時いただけると有り難いです。ぜひお試しください。

Last edited by kotatsurin (March 8, 2020 09:31:35)


(username) [kotatsurin] (think happy)
(my project) [PaSoRich] <github/pasorich/>
peachboy4310
New to Scratch
2 posts

Scratch 3.0 の拡張機能について話すトピック

はじめまして。peachboy4310です。
現在scratch linkを利用して自作ロボットをBT接続し制御を行えるようにしたいと考えています。
参考にEV3の実装内容を見てみたのですが、BT接続対象となるものの検出を行う時に、peripheralOptionsという情報を与えて絞り込みを行っているようでした。
フォーラムの皆様の中で、このperipheralOptionsの内容について何等かの情報をお持ちのようでしたら、教えて頂ければ幸いです。
apple502j
Scratcher
1000+ posts

Scratch 3.0 の拡張機能について話すトピック

peachboy4310 wrote:

はじめまして。peachboy4310です。
現在scratch linkを利用して自作ロボットをBT接続し制御を行えるようにしたいと考えています。
参考にEV3の実装内容を見てみたのですが、BT接続対象となるものの検出を行う時に、peripheralOptionsという情報を与えて絞り込みを行っているようでした。
フォーラムの皆様の中で、このperipheralOptionsの内容について何等かの情報をお持ちのようでしたら、教えて頂ければ幸いです。
peripheralOptionsは、majorDeviceClassとminorDeviceClassのobjectです。
これらはScratch LinkにてBluetoothClassOfDevice.FromPartsに渡します。
文献ではこれらはBluetoothデバイスの絞り込みに使われているようです。

https://docs.microsoft.com/en-us/uwp/api/windows.devices.bluetooth.bluetoothclassofdevice.fromparts

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

Scratch 3.0 の拡張機能について話すトピック

apple502j wrote:

peachboy4310 wrote:

はじめまして。peachboy4310です。
現在scratch linkを利用して自作ロボットをBT接続し制御を行えるようにしたいと考えています。
参考にEV3の実装内容を見てみたのですが、BT接続対象となるものの検出を行う時に、peripheralOptionsという情報を与えて絞り込みを行っているようでした。
フォーラムの皆様の中で、このperipheralOptionsの内容について何等かの情報をお持ちのようでしたら、教えて頂ければ幸いです。
peripheralOptionsは、majorDeviceClassとminorDeviceClassのobjectです。
これらはScratch LinkにてBluetoothClassOfDevice.FromPartsに渡します。
文献ではこれらはBluetoothデバイスの絞り込みに使われているようです。

https://docs.microsoft.com/en-us/uwp/api/windows.devices.bluetooth.bluetoothclassofdevice.fromparts

ありがとうございます。
参照先に詳細内容が記載されておりました。
実際に検出可能か試してみようと思います。
sohtamei
New to Scratch
16 posts

Scratch 3.0 の拡張機能について話すトピック

初めまして、そーたメイです。一つ質問させて下さい。

現在発売中 及び 開発中ロボットのscratch3.0対応のため、extensionを追加して下記サイトで準備中です。
http://sohta02.sakura.ne.jp/tukurutch/
ロボットとはwifi接続でscratch link不使用、Win/MAC/android/iOS対応予定です。

ユーザー様にロボットのsb3サンプルプログラムを提供したいのですが、sb3ファイルを配布した場合
<sb3ダウンロード> - <ローカルに保存> - scratch3.0から<コンピューターから読み込む>
という手順になってしまい、特にスマフォでユーザー様操作の難易度が高くなってしまいます。

そこで https://scratch.mit.edu/projects/102478814/ の のように、
そーたメイ サイト上に下記のようなリンクを置いてクリックによりscratch3.0でsb3サンプルプログラムを開きたいのですが、
http://sohta02.sakura.ne.jp/tukurutch/open?file=sample1.sb3 ※sample1.sb3はhttp://sohta02.sakura.ne.jp/tukurutch/sample1.sb3

URL クエリパラメータなどの方法で同じwebサーバ上のサンプルプログラムを開くことは出来ないでしょうか。

Last edited by sohtamei (July 18, 2020 19:56:57)

inoking
Scratcher
1000+ posts

Scratch 3.0 の拡張機能について話すトピック

これは拡張機能というよりも Mod の配布方法の話題かと思います。
だとすると、どちらかというと Scratch 3.0 をハック(動作や構造を解析すること)しよう! のほうが適している気がします。


私はこの辺詳しくないのですが
Scratch というより独自サイト側の実装の話ではないでしょうか?
「URL クエリパラメータ 取得」とかで検索すると色々方法が出ているようなので
参考にされてみてはいかがでしょうか。

そういう話でなかったらすみません。。

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

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

Scratch 3.0 の拡張機能について話すトピック

inokingさん、
ご返答ありがとうございます!

色々と調べた結果、いちおう出来ました!
http://sohta02.sakura.ne.jp/tukurutch/#412506341

- #+数字で対象となるsb3 (のproject.json) を読み込める
- 拡張機能を追加したsb3はprojects.scratch.mit.eduには置けない
- デフォルトではprojects.scratch.mit.eduを参照しに行ってしまうためlocalのscratchのカスタマイズが必要
inoking
Scratcher
1000+ posts

Scratch 3.0 の拡張機能について話すトピック

動くなったようでよかったです

ちなみに
これは基にしたソースにそのような機能が備わっていたということでしょうか?
それとも sohtamei さんが何か組み込まれたのでしょうか?

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

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

Scratch 3.0 の拡張機能について話すトピック

ScratchXにはそういう機能(loadFromURLParameter)があったなあと思って調べていたら、すでに解決されていましたね。よかったです。
sb3ではなく、拡張機能のURLからのダイナミックローディングは、Sheep_makerさんの「E羊icques」(文字化けじゃなくて本当にこんな名前)でもやっています。
sohtamei
New to Scratch
16 posts

Scratch 3.0 の拡張機能について話すトピック

inokingさん、abeeさん、
●scratch3.0はクラウド保存が原則になります。保存形式はsb3に似てますが、ビミョーに異なります。

 共通:project.json(プログラム本体) とassets (wav, svg, png) で構成される

 ローカル保存:上記ファイルをzip圧縮 (.sb3)

 クラウド保存 (例:project ID=412506341、assets=f5cf1fc58bbc69bf8dd47f904e08cb91.pngのとき):
  project.json - https://projects.scratch.mit.edu/412506341
  assets - https://assets.scratch.mit.edu/9230a0b1c1176bf5ce32b3a79f16405b.png

●project ID=412506341として下記2つのサーバーに別のsb3を登録してみました。
 scratch.mit.edu に “Scratch 3.0 is here!.sb3”
 sohta02.sakura.ne.jp/tukurutch に “オシロスコープ.sb3(独自ext入り)”

 それぞれのスクラッチ実行環境では、project IDが同じでもサーバー設定により読み込まれるprojectが異なります。
 1. 本家 https://scratch.mit.edu/projects/412506341/editor
 2. ユカイ工房さんカスタマイズ https://kurikit.ux-xu.com/scratch/#412506341
 3. そーたメイカスタマイズ http://sohta02.sakura.ne.jp/tukurutch/#412506341

 1と2は “Scratch 3.0 is here!.sb3” になります。独自でscratchサーバーを立ててもprojectの参照先はscratch.mit.eduになります。
 3は “オシロスコープ.sb3” になります。project参照先を下記の通り変更しています。

# scratch-gui/src/lib/project-fetcher-hoc.jsx
ProjectFetcherComponent.defaultProps = {
//assetHost: 'https://assets.scratch.mit.edu',
//projectHost: 'https://projects.scratch.mit.edu'
assetHost: 'http://sohta02.sakura.ne.jp/tukurutch',
projectHost: 'http://sohta02.sakura.ne.jp/tukurutch/internalapi'
};

●まとめ
 - scratch3.0ではsb3を読み込むときあらかじめサーバ上でzip展開&ファイル名変更 (project.json→9桁projectID) しておく必要がある。
 - 独自extを使ったsb3はscratch.mit.eduには置けないため自分のサーバーで公開する必要がある。
 またその場合参照先をscratch.mit.edu→自分のサーバーに変更しておく必要がある
 - サンプルのリンク方法は<自分のscratch実行環境>/#<9桁projectID>

上記間違っていたり、もっとシンプルな方法があったらすみません!
inoking
Scratcher
1000+ posts

Scratch 3.0 の拡張機能について話すトピック

つまり、
基にしたソースにそのような機能が備わっており
参照先を切り換えるだけで
自分のサイト上の作品をロードできるということですね。

余談ですが、
これはまさに Scratch 3.0 をハック(動作や構造を解析すること)しよう! の内容になりますが
この方法はどうやって見つけられました?
ソース解読でしょうか?

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

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

Scratch 3.0 の拡張機能について話すトピック

> この方法はどうやって見つけられました?
公式サイトでprojectを開いたときのパケットをfiddler というパケット解析アプリで解析しました!

おまけですがplayer.htmlを呼ぶことでeditor画面でなくplayer画面で開くことが出来ます。
(下記サンプルはplayer画面から直接実行できません。。)
http://sohta02.sakura.ne.jp/tukurutch/player.html#412506341
sohtamei
New to Scratch
16 posts

Scratch 3.0 の拡張機能について話すトピック

上記のProjectFetcherComponent.defaultProps 変更の方法ではextを公開するサーバー ≒ サンプルを公開するサーバーになってしまうため、URLクエリでassetHost/projectHostを指定できると良いのですが。。
sohtamei
New to Scratch
16 posts

Scratch 3.0 の拡張機能について話すトピック

> クラウド保存 (例:project ID=412506341、assets=f5cf1fc58bbc69bf8dd47f904e08cb91.pngのとき):
>  project.json - https://projects.scratch.mit.edu/412506341
>  assets - https://assets.scratch.mit.edu/9230a0b1c1176bf5ce32b3a79f16405b.png

  assets - https://assets.scratch.mit.edu/internalapi/asset/9230a0b1c1176bf5ce32b3a79f16405b.png/get/
が正しいようです。そーたメイサーバーでは/get/は付けられないため
  assets - http://sohta02.sakura.ne.jp/tukurutch/internalapi/asset/f5cf1fc58bbc69bf8dd47f904e08cb91.png
としてますが、動いてます。
apple502j
Scratcher
1000+ posts

Scratch 3.0 の拡張機能について話すトピック

lib/storage.jsでそこも変更できたはずです。

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

Powered by DjangoBB