Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch 3.0 への提案
- AI_tachi
-
24 posts
Scratch 3.0 への提案
[メッセージ1 v]を受け取るまで待つ ::controlに
[メッセージ1 v]を受け取るまで繰り返す {} ::control loop[クリックされた v]を受け取るまで待つ ::controlなどのように、このブロックに追加で導入するのが良いと思うでしょう
[クリックされた v]を受け取るまで繰り返す {} ::control loop
クリックされたときの方がブロック数を減らせませんか?
[メッセージ v] を送る
<<メッセージを受け取った>> まで待つ
- AI_tachi
-
24 posts
Scratch 3.0 への提案
[メッセージ1 v]を受け取るまで待つ ::controlに
[メッセージ1 v]を受け取るまで繰り返す {} ::control loop[クリックされた v]を受け取るまで待つ ::controlなどのように、このブロックに追加で導入するのが良いと思うでしょう
[クリックされた v]を受け取るまで繰り返す {} ::control loopクリックされたときの方がブロック数を減らせませんか?
[メッセージ1 v] を送る
<[メッセージ1 v]を受け取った> まで待つ
- Ke0
-
1000+ posts
Scratch 3.0 への提案
すいません、話が派生しすぎていませんか?
話を戻しましょう。真偽値ブロックはあれでよいとして、次はフツーのブロックですかね
話を戻しましょう。真偽値ブロックはあれでよいとして、次はフツーのブロックですかね
- sakai12
-
100+ posts
Scratch 3.0 への提案
#8869
[メッセージ1 v]を受け取るまで待つ ::controlに
[メッセージ1 v]を受け取るまで繰り返す {} ::control loop[クリックされた v]を受け取るまで待つ ::controlなどのように、このブロックに追加で導入するのが良いと思うでしょう
[クリックされた v]を受け取るまで繰り返す {} ::control loopクリックされたときの方がブロック数を減らせませんか?
[メッセージ1 v] を送る
<[メッセージ1 v]を受け取った> まで待つ
<[メッセージ1 v]を受け取った::events>が公式より却下されているので提案できません。なのでこうした方が良いということです。
- AI_tachi
-
24 posts
Scratch 3.0 への提案
今ある #8869[メッセージ1 v]を受け取るまで待つ ::controlに
[メッセージ1 v]を受け取るまで繰り返す {} ::control loop[クリックされた v]を受け取るまで待つ ::controlなどのように、このブロックに追加で導入するのが良いと思うでしょう
[クリックされた v]を受け取るまで繰り返す {} ::control loopクリックされたときの方がブロック数を減らせませんか?
[メッセージ1 v] を送る
<[メッセージ1 v]を受け取った> まで待つ<[メッセージ1 v]を受け取った::events>が公式より却下されているので提案できません。なのでこうした方が良いということです。
<> まで待つはどうするんですか?
<> まで繰り返す
end
- sakai12
-
100+ posts
Scratch 3.0 への提案
変更するとややこしくなるのでそのままでいいでしょう。略今ある<> まで待つはどうするんですか?
<> まで繰り返す
end
ブロック追加は議論が必要そうですね。(今は既出の提案の仕分け中なのでやめておきましょう)
#8866
は[メッセージ1 v]を受け取るまで待つ ::controlに
[メッセージ1 v]を受け取るまで繰り返す {} ::control loop[クリックされた v]を受け取るまで待つ ::control
[クリックされた v]を受け取るまで繰り返す {} ::control loop
代用が可能です。(準備中)準備完了!
問題点が見つかったため修正
修正版 https://scratch-mit-edu.ezproxyberklee.flo.org/discuss/topic/270109/?page=446#post-6018760
Last edited by sakai12 (Feb. 8, 2022 13:17:41)
- AI_tachi
-
24 posts
Scratch 3.0 への提案
その方法だとメッセージを一つ増やすためにプログラム全体を変える必要があると思います変更するとややこしくなるのでそのままでいいでしょう。略今ある<> まで待つはどうするんですか?
<> まで繰り返す
end
ブロック追加は議論が必要そうですね。(今は既出の提案の仕分け中なのでやめておきましょう)
#8866は[メッセージ1 v]を受け取るまで待つ ::controlに
[メッセージ1 v]を受け取るまで繰り返す {} ::control loop[クリックされた v]を受け取るまで待つ ::control
[クリックされた v]を受け取るまで繰り返す {} ::control loop
代用が可能です。(準備中)準備完了!ーーーーーーーー
メッセージの場合
ーーーーーーーー@greenflag がクリックされたとき::hat events
[メッセージ1信号 v] を [000] にする
[メッセージ1 v] を受け取ったとき
[メッセージ1信号 v] を [111] にする//桁数はメッセージを受け取るプログラムの数、数字は1桁なら何でも良い
...::hat
...
<((1) 番目\( (メッセージ1信号) \)の文字) = [1]> まで待つ//ここ宛の信号は1桁目、のように全てのブロックに桁を割り当て
[メッセージ1信号 v] を (([0] と ([2] 番目\( (メッセージ1信号) \)の文字)) と ([3] 番目\( (メッセージ1信号) \)の文字)) にする
...//⇧受け取った時にこのスクリプト宛の信号をリセット
...::hat
...
<((2) 番目\( (メッセージ1信号) \)の文字) = [1]> まで繰り返す
[メッセージ1信号 v] を ((([1] 番目\( (メッセージ1信号) \)の文字) と [0]) と ([3] 番目\( (メッセージ1信号) \)の文字)) にする
...
end
...::hat
...
ずっと//その他ループブロックも可
もし <((3) 番目\( (メッセージ1信号) \)の文字) = [1]> なら
[メッセージ1信号 v] を ((([1] 番目\( (メッセージ1信号) \)の文字) と ([2] 番目\( (メッセージ1信号) \)の文字)) と [0]) にする
...
でなければ
...
end
endーーーーーーー受け取った後に信号をリセットすることで確実に信号を受信できます
クリックの場合
ーーーーーーー@greenflag がクリックされたとき::hat events
[クリック信号 v] を [000] にする//上のプログラムの変数を全てクリック用に置き換える
ずっと
<<[マウスのポインター v] に触れた> かつ <マウスが押された>> まで待つ//ハットの方は長押しすると大量に実行されるため
[クリック信号 v] を [111] にする
<<<[マウスのポインター v] に触れた> かつ <マウスが押された>> ではない> まで待つ//クリックした瞬間のみを感知するため
end
...::hat
...
<((1) 番目\( (クリック信号) \)の文字) = [1]> まで待つ
[クリック信号 v] を (([0] と ([2] 番目\( (クリック信号) \)の文字)) と ([3] 番目\( (クリック信号) \)の文字)) にする
...
...::hat
...
<((2) 番目\( (クリック信号) \)の文字) = [1]> まで繰り返す
[クリック信号 v] を ((([1] 番目\( (クリック信号) \)の文字) と [0]) と ([3] 番目\( (クリック信号) \)の文字)) にする
...
end
...::hat
...
ずっと//その他ループブロックも可
もし <((3) 番目\( (クリック信号) \)の文字) = [1]> なら
[クリック信号 v] を ((([1] 番目\( (クリック信号) \)の文字) と ([2] 番目\( (クリック信号) \)の文字)) と [0]) にする
...
でなければ
...
end
end
この信号を受け取った回数より多く作動することはありません
リセット前にもう一度信号が来ても問題はありません
遅延が生じても受信を逃すことはありません
- sakai12
-
100+ posts
Scratch 3.0 への提案
プログラムの構造は、こう見えてシンプルです。略その方法だとメッセージを一つ増やすためにプログラム全体を変える必要があると思います
受け取る側を増やす場合は
[変数 v] を [000] にするの数字のを一桁増やし、
[変数 v] を [111] にする
[**信号 v] を (((1) 番目\( (**信号) \)の文字) と ([0] と ((3) 番目\( (**信号) \)の文字))) にするに増やした分の桁だけ
([] と (() 番目\( (**信号) \)の文字))を増やすだけです。
ちなみに
((((1) 番目\( (**信号) \)の文字) と ((2) 番目\( (**信号) \)の文字)) と [0])の0の位置は割り当てた桁の位置におきましょう。(この場合は3桁目になっている)
桁の分かれ目は
([] と [])このブロックの「と」です。
そして適度に引用を略すのも大切です。
あと今は提案の整理中なので新たな提案は整理が終わってからにしてください。
Last edited by sakai12 (Feb. 8, 2022 09:05:47)
- inoking
-
1000+ posts
Scratch 3.0 への提案
次はこれです。
3.3, 4 は「伸びる」と同様に「意見の分かれる提案」に移動します。(スプライトの [縦の大きさ v] :: sensing)//縦に()伸びる 等と一緒に検討4.(スプライトの [横の大きさ v] :: sensing)//縦に()伸びる 等と一緒に検討5.(スプライトの [面積 v] :: sensing)//縦に()伸びる 等と一緒に検討6.([Sprite1 v] に触れた面積 :: sensing)
7.・https://scratch-mit-edu.ezproxyberklee.flo.org/discuss/post/2845906/(マイクの音の高さ ::sound)
8.[] と聞いて待つ(初期値[100]):: sensing
・https://scratch-mit-edu.ezproxyberklee.flo.org/discuss/post/2839913/
13.(世界標準時との時差::sensing)14.(現在の[ミリ秒 v]::sensing)15.(使用言語::sensing)
18.・ #483(transrate[] [日本語 v]to[English v] :: sensing) //未解決
・#490 タグ機能 → 未解決
19.スプライト[ v]にタグ[ v]を付与する :: looks<タグ[ v]を持ったスプライトに触れた :: sensing>
・#592
20.画面サイズを[16:9 v]にする::sensing //全画面のときにだけ実行される 未解決(画面サイズ::sensing) //全画面のときにだけ実行される 未解決
Last edited by inoking (Feb. 8, 2022 09:45:18)
- Konbo_Ren
-
100+ posts
Scratch 3.0 への提案
5.汎用性が低い気がします。無くてもいいと思います。(スプライトの [面積 v] :: sensing)//縦に()伸びる 等と一緒に検討6.([Sprite1 v] に触れた面積 :: sensing)7.(マイクの音の高さ ::sound)
8.これについては訳が分かりません。どういうことでしょうか?[] と聞いて待つ(初期値[100]):: sensing

13.ブラウザの時間から出すのでしょうか?汎用性も低く不要に思います。(世界標準時との時差::sensing)14.(現在の[ミリ秒 v]::sensing)
あったとして何に使うのかも想像がつきません。
15.これについても訳が分かりません。どういうことでしょうか?(使用言語::sensing)
ここはScratchですからScratchでは?教えてください。
18.翻訳ブロックは拡張機能ですから、追加するとすれば拡張機能の方でしょう。(transrate[] [日本語 v]to[English v] :: sensing) //未解決
しかしGoogle翻訳などを使用している人も見られますから、
Scratch内でそこまで追加する必要もないかと思います。
19.工夫すれば代用が可能だと思います。スプライト[ v]にタグ[ v]を付与する :: looks<タグ[ v]を持ったスプライトに触れた :: sensing>
ただ、あっても便利だとは思うのでそこまで反対はしません。
20.画面サイズを変える必要ないでしょう。第一、エディッターがかなり使いずらくなります。画面サイズを[16:9 v]にする::sensing //全画面のときにだけ実行される 未解決(画面サイズ::sensing) //全画面のときにだけ実行される 未解決