Discuss Scratch

inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

Scratch 3.0 への提案について話し合います。
守ってほしいこと:
The Complete List of Rejected Suggestions(却下された提案)日本語訳)に出ている内容は提案不可です。
#2 をチェックし、すでに出ている提案を単にくり返さないようにお願いします。
★「欲しい」や「賛成」だけではなく、理由などを説明するようにお願いします。
注意:
ここでの提案内容は、そのままでは Scratch チームには取り上げられません

正式に提案するには
英語のしかるべき場所(例えば Suggestions)で報告する必要があります。

このトピックの意義は
何かの機会に Scratch チームに伝えるための材料となるような提案内容を、日本語で煮詰めておく
ということです。

「ここで提案しても却下される」と言う方へ:
#4037, #4470, #5025 も読んでみてください。
時々まとめを投稿してリスト化していきたいと考えています。
プロジェクト編集系機能への要望まとめ (2017年7月に Scratch チームに提案した内容) (English 抄訳はこちら)

2021/09/05:
文章の構成を並び替え、より分かりやすくしました。古い情報に取り消し線を入れました。
2021/03/02:
一覧を更新し #2 に移動しました。
類似トピック
Scratch 3.0 に関する全般的な話は Scratch3.0について話し合う所
Scratch 2.0 への提案は scratch2.0の提案
2018/04/29:
Scratch 3.0 のリリースが間近になったため
scratch2.0の提案 で議論中の一覧をこちらにもってきました。


Scratch 3.0 への提案とは
Scratch 2.0 では(例えば以下のような事情で)実現がむずかしいと思われる提案のことです。
・互換性が保てない
・変更や影響の範囲が大きすぎる
このトピックは将来的には scratch2.0の提案 の Scratch 3.0 版のようなものになることを想定しています。

Last edited by inoking (Sept. 4, 2021 21:41:43)

inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

2021/03/02:
#2 を一覧として使用するために #2 と #3 を結合しました。


#3586 の内容を反映していなかったので #482 に反映しました。
一応これで #900 までは整理したことになります。
細かくなりすぎたので、今後は
結論が明らかであるような提案や、かなりまとまった量の議論がされた提案だけをここに掲載するようにします。

これまでの提案のまとめ

仕分け前の提案
調べるカテゴリ
(スプライトの [面積 v] :: sensing)//縦に()伸びる 等と一緒に検討
([Sprite1 v] に触れた面積 :: sensing)
https://scratch.mit.edu/discuss/post/2845906/
(マイクの音の高さ ::sound)

[] と聞いて待つ(初期値[100]):: sensing
https://scratch.mit.edu/discuss/post/2839913/
(世界標準時との時差::sensing)
(現在の[ミリ秒 v]::sensing)
(使用言語::sensing)

#483
(transrate[] [日本語 v]to[English v] :: sensing) //未解決
#490 タグ機能 → 未解決
スプライト[ v]にタグ[ v]を付与する :: looks
    <タグ[ v]を持ったスプライトに触れた :: sensing>
#592
画面サイズを[16:9 v]にする::sensing //全画面のときにだけ実行される 未解決
(画面サイズ::sensing) //全画面のときにだけ実行される 未解決

イベントカテゴリ
[Shift v] キーが押されたとき :: events :: hat
[Backspace v] キーが押されたとき :: events :: hat
[Enter v] キーが押されたとき :: events :: hat
https://scratch.mit.edu/discuss/post/2839913/
<>のとき::events hat//クラウド変数やマウスのクリックなどのスプライト内部でわかっていないことが対象 
中が見られたとき::events hat

音カテゴリ
・用意されている音の種類の増加
終わるまで [ v] の音を () 秒から鳴らす :: sound
[ v] の音を () 秒から鳴らす :: sound
(楽器::sound)
音の再生速度を () % にする::sound
#756
[ v] の音を止める :: sound //未解決

演算カテゴリ
・かつとまたはの変換
<[文字列] は大文字 ::operators>
(()の()乗::operators)
<[] と [] が大文字小文字を含めて同じ::operators>
(もし <> なら [] でなければ [] :: operators)
https://scratch.mit.edu/discuss/post/2670867/
<TRUE::operators>
<FALSE::operators>
https://scratch.mit.edu/discuss/post/2839913/
([ v]をunicodeで[デコード v]::operators)
([]を計算::operators)
≠、≦、≧#654 拡張機能に追加 → 未解決だが代用可能
<[] ≦ []::operators>
<[] ≧ []::operators>
<[] ≠ []::operators>

変数カテゴリ
・クラウドリスト
・リストの名前変更
・他のプロジェクトとの変数共有
・ユーザーごとに保存される変数
・保存数するとリストの大きさが変わる仕様修正
変数 [変数 v] を作る ::variables
変数 [変数 v] を [#f5f] にする ::variables
(1 v) 番目 [リスト v] を (1) ずつ変える ::list
https://scratch.mit.edu/discuss/post/2839913/
<変数::variables>//真偽値型 
プログラム内での変数宣言

ペンカテゴリ
・消しゴムの追加 https://scratch.mit.edu/discuss/post/2839913/
消しゴムを下ろす::pen
消しゴムを上げる::pen
塗りつぶす::pen
細筆(ペイントエディタでのペンにもう一段階細いものがほしい)
#760
[#cbd51f] の色を消す :: pen //未解決
#892
ペンの色 [四角 v] にする :: pen  //未解決
ペンの色 [筆 v] にする :: pen  //未解決

定義カテゴリ
・ハットブロックの定義

その他 編集/実行
・スクリプトの検索機能
・自動保存のON、OFFの切り替え機能
・一つ前に戻す(スクリプトの状態を)
・ペイントの日本語対応
・コメントをスプライトファイルに保存
・コスチュームにscratchblocksが使えるように
・バックパックに入れたものに名前やメモに付けることを可能に
コスチュームエディターの大きさを変数のスライダーみたいな感じで細かく変更できるようにしてほしい
Scratch 1.4のようなステップ実行
#762 「定義の再描画しない」に安全機能の(〇〇秒たって実行が終わっていないと強制終了) → 未解決

話す
・トピックへの投稿に画像のアップロード
・コメントの改行可能
・ブロックの前後での改行をなくす
・トピックのコメントで、ブロックと普通の文章を同じ行に書けるようにしてほしい // ブロックの前後での改行をなくす と同じ?

その他
サムネイルの設定機能
オフラインエディタへの、アカウントからのバックパックのインポート
音声認識
exe出力//sb2->swf->exeの流れで現在も可
ボーカロイド
cookie(使用例:簡易的なオートセーブ等)
スタジオからぬけられるボタン
#620 コメントのマークダウン記法対応 → 反応なし
#719 サイト内リンク機能 //反応なし
すべてを止めて、scratch.mit.edu.[projects v][000000]にジャンプする::control cap
scratch.mit.edu.[projects v][000000]を新しいタブで開く::control //反応なし


異論のない提案
見た目カテゴリ
#581#8554
画面をズームする (100) %  :: looks
#8582
[ぼかし v] の効果を (25) ずつ変える
[ぼかし v] の効果を (0) にする

[鮮やかさ v] の効果を () にする
#8734「白黒」を「鮮やかさ」に変更
文字列 [文字列] を表示 ::looks
#8707 ただし実装方法については Animated Text などの方式にならう
#756
色を反転する::looks
または
色反転の効果を[かける v]::looks
色反転の効果を[消す v]::looks
#8709, #8748

調べるカテゴリ
#8573
(x座標() y座標 () の色::sensing )//16進数の色コード

<[Shift v] キーが押された>
<[Backspace v] キーが押された>
<[Enter v] キーが押された>
#8831

変数カテゴリ
#606
変数 [変数名] を作成する::variables //賛成方向
リスト [リスト名] を作成する::list //賛成方向
#785
リスト [ v] を (変数) にする :: list //賛成方向
・「このスプライトのみ」に見た目上の区別

定義カテゴリ
(値ブロックの定義::custom)
<真偽値ブロックの定義::custom>
・色や変数等の引数も定義に使用可能
・「再描画せずに実行」に見た目上の区別
以上4件、#8553

話す
・トピックへの投稿に画像のアップロード
背景:https://scratch.mit.edu/discuss/post/2803849/
・トピックの連続建て不可
時間は10分程度。背景:https://scratch.mit.edu/discuss/post/2840758/

その他
・リミックス時に過去の「メモと作品への貢献」が変更できないようにする
既存分の変更は不可とし追加ができるようにする。背景:https://scratch.mit.edu/discuss/post/2840788/
・私の作品で、昇順/降順の切り替え可能
私の作品の検索の中から検索する機能(例1:私の作品ページに検索ボックスを追加、例2:全体検索に「私の作品」に限定できる機能を追加)
背景:https://scratch.mit.edu/discuss/post/2840788/

その他 編集/実行
・一時停止
背景:https://scratch.mit.edu/discuss/post/2816376/
・micro:bitを使用したプロジェクトで、中を見なくても接続できるようにする #5360
・定義をスプライトを跨いでの使用可能 #8562


意見の分かれる提案
見た目カテゴリ
横に () %伸びる ::looks
縦に () %伸びる ::looks
#8724 が「正解」だと思うが「大きさ」との掛け算にしたいという意見も依然ある

制御カテゴリ
https://scratch.mit.edu/discuss/post/2816376/
[このスクリプト以外のすべて v] を止める ::control

ターボモードを [オン v] にする ::control
#8632 より

動きカテゴリ
・x座標,y座標の右クリックでの変換

調べるカテゴリ
https://scratch.mit.edu/discuss/post/2840788/
(マウスホイールの移動量 :: sensing)
https://scratch.mit.edu/discuss/post/2845906/#8561 辺り
<触れた色 ::sensing>//複数あるときに疑問

(スプライトの [縦の大きさ v] :: sensing)//縦に()伸びる 等と一緒に検討
(スプライトの [横の大きさ v] :: sensing)//縦に()伸びる 等と一緒に検討

イベントカテゴリ
https://scratch.mit.edu/discuss/post/2840788/
[マウスホイール上 v] が押されたとき :: events :: hat
[マウスホイール下 v] が押されたとき :: events :: hat

演算カテゴリ
( () + (0))//ブロック端にスペースがあると格段に動かしやすくなるのでは

変数カテゴリ
変数種類の切り換え(「すべてのスプライト用」「このスプライトのみ」「クラウド変数」)#7763#7785

却下された提案

見た目カテゴリ
このスプライトの色を [#000000] にする ::looks
理由:https://scratch.mit.edu/discuss/post/2840758/
(画像効果 [幽霊 v] ::looks)
理由:https://scratch.mit.edu/discuss/post/2763615/
・加算合成機能
理由:https://scratch.mit.edu/discuss/post/2808893/
[#f9f] 色を隠す ::looks
理由:https://scratch.mit.edu/discuss/post/2808893/
[#f9f] 色を表示する ::looks
理由:https://scratch.mit.edu/discuss/post/2808893/
() 秒で大きさを () %にする ::looks
理由:#8704
このスプライトの [#000000] 色を [#ff0000] 色に変える ::looks
理由:#8706
()番目のコスチュームにする::looks
理由:#8708
#814 画像効果にノイズを追加
[ノイズ v] の効果を (0) にする
[ノイズ v] の効果を (25) ずつ変える
理由:#8710

制御カテゴリ
() 番目に作られたクローンを削除する :: control
理由:https://scratch.mit.edu/discuss/post/2803849/
スプライトの他のクローンを削除 ::control
理由:https://scratch.mit.edu/discuss/post/2816376/

(カウンター::control)
理由:#8632

https://scratch.mit.edu/discuss/post/2839913/
抜け出す::control cap//break のこと
始めに戻る::control cap//continue のこと
実行し、<>まで繰り返す{}::control//do while のこと
以上3件、拡張機能ならいいかも。理由:#8632

動きカテゴリ
[ v] のクローン (1) 番目へ向ける ::motion
理由:https://scratch.mit.edu/discuss/post/2803849/
向きが (90 v) 度になったとき ::motion hat
理由:https://scratch.mit.edu/discuss/post/2761553/

調べるカテゴリ
(プロジェクト名 :: sensing)
理由:https://scratch.mit.edu/discuss/post/2808893/
(スプライト数::sensing)
理由:https://scratch.mit.edu/discuss/post/2808893/
<Scratcher::sensing>//クラウド変数が使えるものとしての
理由:https://scratch.mit.edu/discuss/post/2808893/
<[コスチューム1 v]の[Sprite1 v]に触れた :: sensing>
理由:https://scratch.mit.edu/discuss/post/2845906/
#658
タイマーの形式を[分:秒.ミリ秒 v]にする::sensing //反応なし(変数で代用可能)
タイマーの形式を[秒.ミリ秒 v]にする::sensing //反応なし(変数で代用可能)
タイマー を [0.0] にする::sensing //反応なし(変数で代用可能)
理由:#8562

<[スプライト v] が表示されている ::sensing>
理由:#8831
<[#f0f] 色が [sprite1 v] に触れた ::sensing>
理由:#8831
<このスプライトがクリックされた::sensing>
理由:#8831
<ターボモード::sensing>
理由:#8831
<中を見ている::sensing>
理由:#8831
<大画面::sensing>
理由:#8831
#506
<[#ffffff] 色以外に触れた :: sensing>
理由:#8831

演算カテゴリ
(()XOR()::operators)
理由:https://scratch.mit.edu/discuss/post/2808893/
([] の(1) 番目の文字以外::operators)
理由:https://scratch.mit.edu/discuss/post/2816376/
( [文字列]  :: operators)
理由:https://scratch.mit.edu/discuss/post/2816376/
<<> かつ <> かつ <> ::operators>//かつブロックの引数多数化
理由:https://scratch.mit.edu/discuss/post/2816376/

変数カテゴリ
リスト [リスト v] を [A~Z v] の順に置き換える ::list
理由:https://scratch.mit.edu/discuss/post/2816376/
リスト[ v]の中身をシャッフル::list
理由:https://scratch.mit.edu/discuss/post/2816376/

変数・リストの見た目系ブロックは 保存するとリストの大きさが変わる仕様修正 が既にリストにあるので却下↓
変数 [ v] のx座標を () に、y座標を () にする ::variables
(変数 [ v] のx座標 ::variables)
(変数 [ v] のx座標 ::variables)
変数 [ v] の表示形式を [スライダー v] にする :: variables
(変数 [ v] の表示形式::variables)
[変数 v] のスライダーの最小値を (0) にする :: variables
[変数 v] のスライダーの最大値を (0) にする :: variables
([変数 v] のスライダーの最小値 :: variables)
([変数 v] のスライダーの最大値 :: variables)
<変数 [ v] がクリックされた :: variables>
リスト [ v] のx座標を () に、y座標を () にする ::list
リスト [ v] の縦幅を () に、横幅を () にする ::list
理由:https://scratch.mit.edu/discuss/post/2845906/

ペンカテゴリ
(ペンの太さ ::pen)
理由:https://scratch.mit.edu/discuss/post/2763615/
(ペンの色 ::pen)
理由:https://scratch.mit.edu/discuss/post/2763615/
(ペンの濃さ ::pen)
理由:https://scratch.mit.edu/discuss/post/2763615/
<ペンが下りている ::pen>
理由:https://scratch.mit.edu/discuss/post/2763615/
[このスプライト v] のペンを消す :: pen
理由:https://scratch.mit.edu/discuss/post/2808893/

その他 編集/実行
・スプライトどうしのレイヤー
理由:https://scratch.mit.edu/discuss/post/2808893/
・新着メッセージをメールで通知する機能
理由:https://scratch.mit.edu/discuss/post/2816376/
・使用ブロック数を表示
理由:#8562

話す
・自分がオーナーのスタジオに投稿されたコメントの削除
理由:https://scratch.mit.edu/discuss/post/2845906/
・sage機能(BBSなどにある機能で、レスしてもスレが上がらないという機能。要らないスレにいちいち注意しても無駄に上がるだけだがこの機能で改善される筈)
理由:#8562

その他
・アカウントの2段階認証
理由:#8562
・ユーザーアイコンに.svgを使用できる
理由:#8562


3.0で追加される(はずと言われていた)提案
※3.0 で追加されるので 2.0 での追加要望はなし
<[]に[]が含まれる::operators>
(押されたキー :: sensing)
[]と喋る::sound
<[上の v]端にふれた::sensing>
() 層上げる :: looks
一番下に下げる :: looks[/scratchblocks]

Last edited by inoking (Feb. 8, 2022 10:15:34)

inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

2021/0302:
#2 を一覧として使用するために #2 と #3 を結合しました。


以下は元の #2 です。
「scratch2.0の提案」に以前ポストしたものです。既に英語モードで「レイヤー」という言葉が使われていたので「レイヤーグループ」にしました。

スクリプトの重なり順についてレイヤーグループの機能が欲しい。
現状ではスクリプトの重なり順を完全に制御するのが難しい。
例えば、動的に複数クローンが生成されては消えていくような場合。
完全に制御するには Scratch 内部の表示用制御リスト?の状態をエミュレートする必要があるが
大変だしアプリケーション側でやるようなことではない。

★用途の例
シューティングゲームで空中物、地上物、地面の重なりを再現

★実装例
デフォルトでレイヤーグループ1とし、
・必要に応じてレイヤーグループを追加できるようにするか
・あらかじめ決まった数のレイヤーグループを用意するか(5個程度で十分かと)

例えば以下のように、上位レイヤーグループに属する全スプライトは、下位レイヤーグループに属する全スプライトより前に表示される。
レイヤーグループ1
スプライト1
スプライト2

レイヤーグループ2
スプライト3
スプライト4


表示順序制御ブロック
前に出す
() 層下げる
はレイヤーグループの中でできるものとし、さらに以下のようなブロックを追加する。
レイヤーグループ()に移動 :: looks

以下は元の #3 です。
転記させてもらいました。

CommandSlash017 wrote:

上と似ていますが、ペンの描画が最下段なのが気になります。ペンのレイヤーの制御機能を搭載して欲しいです。しかし2.0で実装するとグラフィックが変わってしまう可能性があるので3.0で実装するべきだと思います。

Last edited by inoking (March 1, 2021 17:43:05)

horamoon
Scratcher
500+ posts

Scratch 3.0 への提案

Scratch3.0への提案の方がもし提案したときにSTにも余裕ができますし、いいですね。
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

以下の機能が欲しい。
キャプチャーする :: looks

★用途の例
実行時にコスチュームを作成
・ペンで描いて取り込む
・複数のスプライトを重ねた状態で取り込む

★実装例
スプライトの現在位置から一定範囲内の画像を
現在のコスチュームに取り込んで上書きする(保存はされない)。

取り込み範囲については検討が必要
例:四角形で指定、コスチュームの着色範囲で指定

★備考
保存できなければセキュリティー上も問題ない。
horamoon
Scratcher
500+ posts

Scratch 3.0 への提案

でもキャプチャまでできちゃったらScratchじゃない気がする…。
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

horamoon wrote:

でもキャプチャまでできちゃったらScratchじゃない気がする…。
そうかも。。。
Scratch でやるのはどこまでなのか?ということは
3.0 でも大きくは変わらないでしょうが、少しずつは変わっていくものでもあるでしょう。
というわけで、この提案はちょっとグレーでしょうか。
apple502j
Scratcher
1000+ posts

Scratch 3.0 への提案

備考ですが、Scratch 3.0はHTML5でできているので、HTML5で実現が難しいものはほとんどが難しいです
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

switch 文(Select Case 文)の機能が欲しい。

ゲーム作りにおいては値によって一連の処理を切り替えることがしばしばあるが
もし <> なら 
でなければ
end
では階層が深くなってしまうため。

★備考
case 値の増減をユーザーインターフェース上どう実装するかが課題。

シフトキーを多用するようになると
Windows の場合、Shift キー5回押しで起動される「固定キー機能」が起動されてしまい混乱するかも
コピペで入っていたゴミを消しました。

Last edited by inoking (July 26, 2017 11:33:08)

CommandSlash017
Scratcher
500+ posts

Scratch 3.0 への提案

inoking wrote:

switch 文(Select Case 文)の機能が欲しい。

ゲーム作りにおいては値によって一連の処理を切り替えることがしばしばあるが
もし <> なら 
でなければ
end
では階層が深くなってしまうため。

★備考
case 値の増減をユーザーインターフェース上どう実装するかが課題。

シフトキーを多用するようになると
Windows の場合、Shift キー5回押しで起動される「固定キー機能」が起動されてしまい混乱するかも
swith文の引数は文字列型が良いかと。
もし[]が[]であれば{}[]であれば{}[]であれば{}::control

Last edited by CommandSlash017 (July 23, 2017 06:03:24)

horamoon
Scratcher
500+ posts

Scratch 3.0 への提案

CommandSlash017 wrote:

swith文の引数は文字列型が良いかと。
もし[]が[]であれば{}[]であれば{}[]であれば{}::control
それだと
もし[文字列]が[]であれば{}[]であれば{}[]であれば{}::control
のようなことができてしまいますよ。

こちらのほうがいいと思います。
もし()が[]であれば{}[]であれば{}[]であれば{}::control

Last edited by horamoon (July 23, 2017 06:11:54)

CommandSlash017
Scratcher
500+ posts

Scratch 3.0 への提案

horamoon wrote:

あまり使わないかもしれませんが、
もし[文字列]が(A)であれば{}(B)であれば{}(C)であれば{}::control
のような使い方も考えることができます。
horamoon
Scratcher
500+ posts

Scratch 3.0 への提案

CommandSlash017 wrote:

horamoon wrote:

あまり使わないかもしれませんが、
もし[文字列]が(A)であれば{}(B)であれば{}(C)であれば{}::control
のような使い方も考えることができます。
それはそのままでも問題ないと思います。
CommandSlash017
Scratcher
500+ posts

Scratch 3.0 への提案

horamoon wrote:

CommandSlash017 wrote:

horamoon wrote:

あまり使わないかもしれませんが、
もし[文字列]が(A)であれば{}(B)であれば{}(C)であれば{}::control
のような使い方も考えることができます。
それはそのままでも問題ないと思います。
そのままとは?
horamoon
Scratcher
500+ posts

Scratch 3.0 への提案

四角の枠にも変数は入れれます。
CommandSlash017
Scratcher
500+ posts

Scratch 3.0 への提案

horamoon wrote:

四角の枠にも変数は入れれます。
そうですよ。ですから両方文字列型の引数にしたらどうかと言っているのです
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

horamoon さんが https://scratch.mit.edu/discuss/post/2738114/ で言っているのは最初の引数を数値型にしたら?ということですよね。

CommandSlash017 wrote:

swith文の引数は文字列型が良いかと。
もし[]が[]であれば{}[]であれば{}[]であれば{}::control
私もすべて文字列型(変数も はめ込み可能)が良いと思います。
すみません。型をあまり意識していませんでした。
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

プロジェクト編集系機能への要望まとめ
mochimochiking
Scratcher
1000+ posts

Scratch 3.0 への提案

inoking wrote:

switch 文(Select Case 文)の機能が欲しい。

ゲーム作りにおいては値によって一連の処理を切り替えることがしばしばあるが
もし <> なら 
でなければ
end
では階層が深くなってしまうため。

★備考
case 値の増減をユーザーインターフェース上どう実装するかが課題。

シフトキーを多用するようになると
Windows の場合、Shift キー5回押しで起動される「固定キー機能」が起動されてしまい混乱するかも
if~else if~else 文もほしい
inoking
Scratcher
1000+ posts

Scratch 3.0 への提案

mochimochiking wrote:

if~else if~else 文もほしい
もし <> なら 
でなければ
end
の入れ子でいいのではないですか?
そもそも、階層が深くなるような if~else はできるだけさけるべきです。
switch が決定的に違うのは(最初の引数で渡される)評価式が一つしかないということです。これは if~else では実現できません。

Powered by DjangoBB