Discuss Scratch

abee
Scratcher
1000+ posts

Scratch 3.0 への提案

たとえば、3.0では、全角スペースがイベントとして認識されるようになりましたが、これは実際に日本で困っている様子を見てもらえなければ、取り入れられることはなかったと思います。
YY04
Scratcher
100+ posts

Scratch 3.0 への提案

背景を
(背景 #)
で指定できるようにしてほしいです。
sky_77
Scratcher
500+ posts

Scratch 3.0 への提案

YY04 wrote:

背景を
(背景 #)
で指定できるようにしてほしいです。
背景を ((N) + (0)) にする//数字の名前の背景がなければ+0は必要ない
でN番目の背景になります。意味が違ったらすみません。
MARIO32KIRBY25
Scratcher
100+ posts

Scratch 3.0 への提案

すべてのスクリプトの処理終了待ちを無くしてほしいです。
なぜなら、低スペックPCには全部の処理終了待ちは重くなるからです。
MARIO32KIRBY25
Scratcher
100+ posts

Scratch 3.0 への提案

つまり、Scratchもプリエンプティブマルチタスクにしてほしいです。
Windows 4以降やmacosXもプリエンプティブです。
MARIO32KIRBY25
Scratcher
100+ posts

Scratch 3.0 への提案

sky_77 wrote:

MARIO32KIRBY25 wrote:

すべてのスクリプトの処理終了待ちを無くしてほしいです。
なぜなら、低スペックPCには全部の処理終了待ちは重くなるからです。
つまり、Scratchもプリエンプティブマルチタスクにしてほしいです。
Windows 4以降やmacosXもプリエンプティブです。
互換性がなくなると思います。
なぜそう思います?
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

MARIO32KIRBY25 wrote:

sky_77 wrote:

MARIO32KIRBY25 wrote:

すべてのスクリプトの処理終了待ちを無くしてほしいです。
なぜなら、低スペックPCには全部の処理終了待ちは重くなるからです。
つまり、Scratchもプリエンプティブマルチタスクにしてほしいです。
Windows 4以降やmacosXもプリエンプティブです。
互換性がなくなると思います。
なぜそう思います?
質問が意味不明です。
「全部の処理終了待ち」が何のことか分かりませんし、「重くなる」という根拠も分かりません。
「プリエンプティブマルチタスク」の意味を分かっていますか?
質問もされているようですが

互換性については
すでにあるプロジェクトは現在の方式を前提として動作しているので、
そこを変えると各スプライトやクローンの実行タイミングが大きく変わり
まともに動作しなくなるものが多数出てきます。

Scratch は現在でも一種の「プリエンプティブマルチタスク」です。

そもそも
ゲームでは各キャラクター(Scratch でいうスプライトやクローン)は
「計算→描画」という実行単位ごとに動作するものなので
厳密なプリエンプティブマルチタスクは相性が良くないです。
YY04
Scratcher
100+ posts

Scratch 3.0 への提案

sky_77 wrote:

YY04 wrote:

背景を
(背景 #)
で指定できるようにしてほしいです。
背景を ((N) + (0)) にする//数字の名前の背景がなければ+0は必要ない
でN番目の背景になります。意味が違ったらすみません。
わかりました。
foo-eta
Scratcher
1000+ posts

Scratch 3.0 への提案

MARIO32KIRBY25さん、あなたが話していることは、オペレーティングシステムの話で、スクラッチのようなアプリケーションには、残念ながら、関係がありません。
スクラッチは、ファイバてはなく、スレッドで動いているので、基本的にプリエンプティブなマルチタスクです。
なぜ、こう言えるか、というと、たとえば、「旗が押された時」「ずっと」「10歩動かす」というスクリプトが入ったスプライトをいくつか用意して実行すると、同時に動いているように見えますよね?これは、オペレーティングシステムがそれぞれのスクリプトの実行を人間には意識できないくらいのスピードで切り替えながら実行してくれているからで、これはプリエンプティブなオペレーティングシステムでないとできない芸当です。
もしも、スクラッチがイペントドリブンマルチタスクだったら、意識的にプロセッサを手放して、ほかのスクリプトを実行するために、「タスクを切り替える」ブロックのようなものが、必要になるでしょう。
そのようなものはないので、inokingさんも安心してスクラッチはプリエンプティブなマルチタスクだと、言って良いと思います。

スクラッチは、クリティカルセクションのようなものもないですから、デッドロックも発生しません。なのだ、なにか処理が重いとしたら、スクリプトの作り自体に起因するもので、プリエンプティブマルチタスクのような、オペレーティングシステムの話は関係ありませんよ。
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

以下は Scratch 2.0 の時代にソースを解析した結果ですが
Scratch 3.0 でも互換性が最大限守られているため同様の仕組みとなっているはずです。

30ms のフレームレートで駆動されるスケジューラのようなものが動いていて
そこではフレームレートの 75% を消費するまで各スプライトやクローンのブロックを順次実行しています。
その際、各スプライトやクローンの待ち合わせや描画の有効無効といった各条件が考慮されます。

各スプライトやクローンから見ればブロック単位で中断されますが
強制的にコンテキストスイッチが発生しているわけではないので
一種の「プリエンプティブマルチタスク」と書きました。
foo-eta
Scratcher
1000+ posts

Scratch 3.0 への提案

なるほど、勉強になりました。
でも、スクリプトからみたら、ブロック=命令ごとにコンテキストスイッチが入るので、実際のオペレーティングシステムの動きとなんら変わることはないですよ。75%という閾値も、別に気にすることはないと思います。運用や実装としては、「あるあるネタ」です。
むしろ、「一種の」とつけると、ちょっと誤解されそうな気がするのて、堂々と言い切っちゃいましょう(^^)
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

確かに、ブロックは Scratch での最小実行単位なので、

Scratch と 一般のシステム との対比で
・ユーザープロジェクト→アプリケーション
・システム側処理→OS
・ブロック→機械語命令
とそれぞれ読み替えると
まさにプリエンプティブマルチタスクですね。

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

Scratch 3.0 への提案

お知らせ にもありましたが

inoking wrote:

ST の方の来日 に備え、どうしても伝えたいことをまとめておきたいと思います。
リストアップ、英訳という流れになるかと思います。
とりあえず、発議まで。
私からは
クローズされたトピックをオープントピックより後に表示する案 を挙げます。
英語フォーラムでの反応は、「賛成」、「選択式なら賛成」、が主流と思います。
重複トピックではないか?という指摘もありましたが
既存トピックではトピックごとに ST の人が「下げ」を実行するものに対し
こちらの提案は(実装を簡単化することで実現可能性を高めるねらいで)クローズされたトピックを無条件に「下げ」るものなので
重複トピックには当たらないと ST の方の見解を得ています。

他にはハイコントラストの件でしょうか。
itnkmkw
Scratcher
1000+ posts

Scratch 3.0 への提案

inoking wrote:

私からは
クローズされたトピックをオープントピックより後に表示する案 を挙げます。



他にはハイコントラストの件でしょうか。
どちらも賛成します。僕はいけませんが、よろしくお願いします。

Last edited by itnkmkw (July 29, 2019 21:36:26)

TNTjapan
Scratcher
10 posts

Scratch 3.0 への提案

[こんにちは] と (1) 文字づつ言う
sky_77
Scratcher
500+ posts

Scratch 3.0 への提案

TNTjapan wrote:

[こんにちは] と (1) 文字づつ言う::looks
定義 (text)と(num) 文字ずつ言う
[変数 v] を [] にする
<(変数)= (text::costom-arg)> まで繰り返す
(num::costom-arg) 回繰り返す
[変数 v] を ((変数) と ((text::costom-arg) の (((変数) の長さ) + (1)) 番目の文字::operators)) にする
end
(変数) と言う
(0.1) 秒待つ
end
[] と言う
でどうでしょうか。
MARIO32KIRBY25
Scratcher
100+ posts

Scratch 3.0 への提案

複数のプロジェクトを同時に実行できるようにしたいです。
gagagagagagagaqqww
Scratcher
1000+ posts

Scratch 3.0 への提案

MARIO32KIRBY25 wrote:

複数のプロジェクトを同時に実行できるようにしたいです。
タブを分ければできると思います
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

ST の方の来日 に備えて の件:
明日になりましたが
クローズされたトピックをオープントピックより後に表示する案
ハイコントラストの件
をお願いするということでよいですね。
参加される方、上記の件の概要は把握されていますでしょうか。
foo-eta
Scratcher
1000+ posts

Scratch 3.0 への提案

申し訳ありません、ハイコントラストの提案をしていますが、仕事の都合で参加できません。
お手数おかけしますが、よろしくお願いいたします。

Powered by DjangoBB