Discuss Scratch

panda3250
New Scratcher
8 posts

Scratch への提案

sei6sei wrote:

リストが存在しない場合、Scratchはエラーを吐かないので、バグの原因になる気がします。
たしかに、存在しないリスト名を変数で指定してしまった場合に、Scratchがエラーを出さない仕様なので、バグの原因になる可能性はあります。
しかし、現在のScratchの仕様に近づける形で、エラーではなく「空の結果」(0や“”(何もない)など)を返すようにすれば、予期せぬ強制終了やクラッシュを避けられると思います。

この機能を拡張オプションとして有効化できる設定を追加することで、初心者が混乱するのを防ぎつつ、柔軟に活用できる形になると考えています。

Last edited by panda3250 (Aug. 7, 2025 12:37:48)

inoking
Scratcher
1000+ posts

Scratch への提案

変数名を変数で指定できるようにする提案は
過去に何度か出ており、
以下の提案と同様の理由によりこのトピックでは却下されています。
却下された提案 より:
プログラム内での変数宣言
変数 [変数 v] を作る ::variables
理由:#59
kouryou118103
Scratcher
1000+ posts

Scratch への提案

一応Scratch 2.0では非公式ですが、JSONハックで作れたようです。
https://github.com/scratchfoundation/scratch-vm/issues/1030#issuecomment-379405892
abee
Scratcher
1000+ posts

Scratch への提案

連想配列(辞書)を使って変数名を文字列で与えられるようにしてみました。これで通常の変数と同等に使うことができ、条件分岐を用いなくてもアルゴリズムの再利用もできます。
[変数名のリスト v]のすべてを削除する
[foo] を [変数名のリスト v] に追加する
[bar] を [変数名のリスト v] に追加する
[変数のリスト v]のすべてを削除する
([変数名のリスト v] の長さ::data) 回繰り返す
[] を [変数のリスト v] に追加する
end
[変数 v] を [foo] にする
[変数のリスト v] の ([変数名のリスト v]中の(変数)の場所) 番目を [123] で置き換える
[変数 v] を [bar] にする
[変数のリスト v] の ([変数名のリスト v]中の(変数)の場所) 番目を [456] で置き換える

定義 (変数名) の値を2倍にする
[インデックス v] を ([変数名のリスト v]中の(変数名::custom)の場所) にする
[変数のリスト v] の (インデックス) 番目を (([変数のリスト v] の (インデックス) 番目) * (2)) で置き換える
panda3250
New Scratcher
8 posts

Scratch への提案

abee wrote:

連想配列(辞書)を使って変数名を文字列で与えられるようにしてみました。これで通常の変数と同等に使うことができ、条件分岐を用いなくてもアルゴリズムの再利用もできます。
[変数名のリスト v]のすべてを削除する
[foo] を [変数名のリスト v] に追加する
[bar] を [変数名のリスト v] に追加する
[変数のリスト v]のすべてを削除する
([変数名のリスト v] の長さ::data) 回繰り返す
[] を [変数のリスト v] に追加する
end
[変数 v] を [foo] にする
[変数のリスト v] の ([変数名のリスト v]中の(変数)の場所) 番目を [123] で置き換える
[変数 v] を [bar] にする
[変数のリスト v] の ([変数名のリスト v]中の(変数)の場所) 番目を [456] で置き換える

定義 (変数名) の値を2倍にする
[インデックス v] を ([変数名のリスト v]中の(変数名::custom)の場所) にする
[変数のリスト v] の (インデックス) 番目を (([変数のリスト v] の (インデックス) 番目) * (2)) で置き換える
確かにその方法である程度問題は緩和されますが、しかし、変数が通常の橙色の「変数ブロック」として視覚的に表示されないため、プログラムの読み書きがしづらくなるという課題があります。リスト内の項目を検索するたびに場所の取得、書き換えを行う必要があるので、変数の数が増えると処理効率にも影響が出る可能性があります。
このような理由から、「変数名を変数で指定する」という機能を、既存のブロックの拡張として取り入れられないかと考えました。提案としては、設定から有効化できる拡張的なオプションとして追加する形が望ましいと考えています。そうすれば、初心者にとっての分かりやすさを保ちつつ、より高度な表現が可能になるのではないかと思います。

Last edited by panda3250 (Aug. 7, 2025 21:24:51)

U-Y-Scratch
Scratcher
500+ posts

Scratch への提案

子供の監督を容易にするため、「保護者用アカウント(Scratcherをアップデートで代用)」と「子供用アカウント」の新設を提案します。
保護者の権限
子供用アカウントを作る。
子供の活動履歴を見て、差し戻しする。
子供の非共有プロジェクトを見る。
子供をブロックする。
子供がScratchTeamにブロックされた時はアラートが届く。
子供が一定の年齢になったら独立させれる。

大規模なアップデートが必要なので4.0からの実装になるかもしれませんが

Last edited by U-Y-Scratch (Aug. 7, 2025 23:16:35)

ioqj
Scratcher
500+ posts

Scratch への提案

U-Y-Scratch wrote:

子供の監督を容易にするため、「保護者用アカウント(Scratcherをアップデートで代用)」と「子供用アカウント」の新設を提案します。
保護者が子供のアカウントを監視できる状況を作ることに対しては賛成ですが、それをどうやって実装するかが問題だと思います。
たとえば、今も教師でない人が教師用アカウントを作成できてしまうのが現状です。(認証云々の話はまた別)
これと同じように、「保護者用アカウント」を保護者でない人が作成できてしまうような認証方法では、少なくとも意味をなさないと思います。
abee
Scratcher
1000+ posts

Scratch への提案

#7990
保護者と子供がアカウントを共有することで現在も実現できると思います。
これは、禁止されている共有アカウントの例外として認められています。
まず、U-Y-Scratchさんが保護者の方とやってみてはどうでしょうか。

Last edited by abee (Aug. 8, 2025 01:49:08)

abee
Scratcher
1000+ posts

Scratch への提案

#7989
そのあたりが工夫のしどころだと思います。試しにプロジェクトを作ってみました
実測してみるとわかりますが、通常の変数との速度差はマイクロ秒オーダーです。
inoking
Scratcher
1000+ posts

Scratch への提案

#7989:
存在しない変数・リストが指定されたときの回避方法がありません。
設定で切り替えるにしても
そのような「高度」な内容を設定できる例はないと思います(TutboWarp とかなら分かりますが)。

プログラミングミスによるトラブルをできるだけ排除するのも「低い床」です。
RICE-MAKER
Scratcher
65 posts

Scratch への提案

スタジオに人を招待するとき、フォロワーとかフォロー中の人から複数人を選んで一気に招待できるようにしてほしいです。
例えば、スタジオにプロジェクトを追加するときに、URLの右の方にある、「プロジェクトを見る」から複数のプロジェクトを選んで一気に投稿できるような、それの人バージョン。そんな機能が欲しいです。
なぜなら、スタジオにフォロワーさんとか、フォロー中の人とか招待したいときに、今だと一人ずつ打ち込まなければならない。だけどそんな機能があれば、この人とこの人と、あとこの人。ってな感じにぽんぽん招待できるわけです。その分手間もかからず、よりスクラッチが楽しみやすい環境になると思うんです。
というわけで、上記のことを提案いたします。できれば皆様のご意見もお聞かせください。
masaOdakyu
Scratcher
100+ posts

Scratch への提案

#2却下されたもの
5.2 全員招待ボタン
・スパムとなる」
と似たようなものではないでしょうか。
対象がプロジェクトから人に移ると、スクラッチではスパムと呼ぶようになります

Last edited by masaOdakyu (Aug. 8, 2025 05:19:11)

myuu901
Scratcher
41 posts

Scratch への提案

もしかしたらもうすでに却下されてたりするかもしれませんが変数やリストの座標指定が出来るようになったら嬉しいです。場所ごとにいちいち変数やリストを置くのは正直管理も大変だし、きついです。それに、スクロールゲームや、ゲーム内でのスコア表示のときに、クオリティを上げたり違和感をなくしたり出来ると思います。どうでしょうか?
すみません。却下された提案を見落としていました。

Last edited by myuu901 (Aug. 8, 2025 05:42:37)

kuretaka
Scratcher
100+ posts

Scratch への提案

kuretaka wrote:

(#7978)
プロジェクトのembedリンクに
  • 作者のユーザー名
  • 使い方、メモとクレジット
を載せるべきだと思います。

近年サイトでscratch(turbowarpも使用されているので対策が必要…?)のembedリンクが使われることが増えてましたが、一部サイトでは作者名やメモとクレジット欄の表記をせず、プロジェクトの作者やそれに使用されている著作権侵害(作者についてはCC2.0侵害?)に抵触しつつある気がするので。

学タブ勢が増えてきてこれからさらにembedは需要が増すと思うので、今のうちに整備しておくべきだと思いました。
これって結局どうなりましたか?
U-Y-Scratch
Scratcher
500+ posts

Scratch への提案

#7991

ioqj wrote:

U-Y-Scratch wrote:

子供の監督を容易にするため、「保護者用アカウント(Scratcherをアップデートで代用)」と「子供用アカウント」の新設を提案します。
保護者が子供のアカウントを監視できる状況を作ることに対しては賛成ですが、それをどうやって実装するかが問題だと思います。
たとえば、今も教師でない人が教師用アカウントを作成できてしまうのが現状です。(認証云々の話はまた別)
これと同じように、「保護者用アカウント」を保護者でない人が作成できてしまうような認証方法では、少なくとも意味をなさないと思います
将来、保護者になる可能性があることを考えると、現在の「Scratcher」に権限を追加するだけでいいと思います。
Ke0
Scratcher
1000+ posts

Scratch への提案

それは前半部にしか回答していません。「保護者用アカウント」「子供用アカウント」の認証が曖昧であるという問題点(これは教育関係者のそれにも当てはまりますが)を素通りして実装するには権限の及ぶ幅が広く、また「特段ネット上でやる必要がない」か「アカウントを分ける必要がない」ことばかりです。

U-Y-Scratch wrote:

子供用アカウントを作る。
子供が一定の年齢になったら独立させれる。
これは前提なので省略します。そもそも一定以下の年齢の利用者は保護者と一緒に利用することが求められているという話もありますが…
子供の非共有プロジェクトを見る。
子供がScratchTeamにブロックされた時はアラートが届く。
アカウントを共有、狭く言えば保護者が子供のアカウントにサインインできる状態であればこれは実現できます
子供の活動履歴を見て、差し戻しする。
上に追記の形ですが活動履歴を見るだけなら今でも可能です。プロフィールに載っていないものまで遡れたりコメントなども知れるようにしたりしたいということであれば新しさはありますが、実装面のハードルはいかんせん、といったところでしょうか
子供をブロックする。
例えばパスワードを変更してログインできなくする、で十分ではないでしょうか。もっといえば利用を禁止してしまえばよいことです。保護者の目の届くところで不適切な行為があったということなのですから対策にネットを介す必要もありません。
流れの都合で順番が変わっています…

Last edited by Ke0 (Aug. 8, 2025 08:08:41)

U-Y-Scratch
Scratcher
500+ posts

Scratch への提案

Ke0 wrote:

U-Y-Scratch wrote:

子供の非共有プロジェクトを見る。
子供がScratchTeamにブロックされた時はアラートが届く。
アカウントを共有、狭く言えば保護者が子供のアカウントにサインインできる状態であればこれは実現できます
勝手にパスワードを変えられたりすると出来ません。

Ke0 wrote:

U-Y-Scratch wrote:

子供の活動履歴を見て、差し戻しする。
上に追記の形ですが活動履歴を見るだけなら今でも可能です。プロフィールに載っていないものまで遡れたりコメントなども知れるようにしたりしたいということであれば新しさはありますが、実装面のハードルはいかんせん、といったところでしょうか
非共有プロジェクトの作成やスタジオの作成、コメント等全ての活動を閲覧できます。
また、プロフィールと違って「もっと読み込む」が付きます。

Ke0 wrote:

U-Y-Scratch wrote:

子供をブロックする。
例えばパスワードを変更してログインできなくする、で十分ではないでしょうか。もっといえば利用を禁止してしまえばよいことです。保護者の目の届くところで不適切な行為があったということなのですから対策にネットを介す必要もありません。
物理的に反抗された時等は便利です。

Last edited by U-Y-Scratch (Aug. 8, 2025 08:23:11)

inoking
Scratcher
1000+ posts

Scratch への提案

#7982:

kuretaka wrote:

#7979
指摘を受け修正しました
投稿を後から書き換えるのではなく、新規投稿でお願いします。

#7998:

kuretaka wrote:

これって結局どうなりましたか?
#7979 に書いたとおりです。

inoking wrote:

・作者のユーザー名
・使い方、メモとクレジット
はいいとして
inoking
Scratcher
1000+ posts

Scratch への提案

#7996:

masaOdakyu wrote:

対象がプロジェクトから人に移ると、スクラッチではスパムと呼ぶようになります
トピ違いですが
そのような定義はありません。
そもそも、「対象がプロジェクト」の意味が分かりません(回答不要)。
inoking
Scratcher
1000+ posts

Scratch への提案

#7990:

U-Y-Scratch wrote:

子供の監督を容易にするため、「保護者用アカウント(Scratcherをアップデートで代用)」と「子供用アカウント」の新設を提案します。
#7992 ↓ のとおりです。

abee wrote:

#7990
保護者と子供がアカウントを共有することで現在も実現できると思います。
これは、禁止されている共有アカウントの例外として認められています。
まず、U-Y-Scratchさんが保護者の方とやってみてはどうでしょうか。
まずは自分から始めましょう。
これまでのプロフィールやスタジオなどでのコメントからして
U-Y-Scratch さんが保護者の監督が必要な年齢であることは明らかです。

Powered by DjangoBB