Discuss Scratch

apple502j
Scratcher
1000+ posts

scratch2.0の提案

inoking wrote:

apple502j wrote:

fine316 wrote:

(押されたキー::sensing)
についてですが、Scratch3.0で
<(変数) キーが押された>
のように標準でブロックをはめられるようになるようなので、押されたキーの機能は作品側で用意できると思います。
Scratch 3.0に実装されるとは書いていません。あくまで定義ブロックで代用できるレベルです。
<(変数) キーが押された>
は開発中の3.0で既に実装されていますが
これでは不可なのですか?

apple502j wrote:

また、ScratchXのすべてが実装と言うわけにもいかなさそうです。
scratch-blocks(Scratch 3.0のブロック用エンジン)のソースコード全文検索に、「speak」「speech」「voice」は1件もひっかかりません。
先のリンクからたどれる https://scratch-mit-edu.ezproxyberklee.flo.org/discuss/post/2807348/ 辺りに Text to Speech は3.0で実装されるとありますが
これが「しゃべる」に該当するのではないですか?
<(変数) キーが押された>をキーの数だけループすればできますが、それでは今と変わりません。
しゃべるは、現段階での実装はされていません。今後入る可能性はありますが、プロトタイプだけで終わるかもしれません。
itnkmkw
Scratcher
1000+ posts

scratch2.0の提案


fine316 wrote:

(押されたキー::sensing)
についてですが、Scratch3.0で
<(変数) キーが押された>
のように標準でブロックをはめられるようになるようなので、押されたキーの機能は作品側で用意できると思います。
しかし,それだと計算が重くなるんです。一つのブロックで一括処理したいです。それに,その方法なら2.0でも,ハッキングでできますし。

Last edited by itnkmkw (Jan. 2, 2018 01:09:55)

inoking
Scratcher
1000+ posts

scratch2.0の提案

当時の議論中に指摘してほしかったのですが(たまたま見てなかっただけかもしれませんが)
<(変数) キーが押された>
例えば下記のように代用できるようになります(ここでは同時押しは考慮していません)。
現状ではループにすることはできません。

ハッキングを使わない代用法ができただけでも十分ではないでしょうか。

同時押しについては
複数キーの情報をどう返すかという課題があり、そこが解決しないと何ともならないと思います。

[a] を [list v] に追加する
[b] を [list v] に追加する
...
定義 (key)
[key v] を [NULL] にする
() 回繰り返す
もし <(( v) 番目( [list v] ) :: list) キーが押された> なら
[key v] を (( v) 番目( [list v] ) :: list) にする
[このスクリプト v] を止める
end
end
inoking
Scratcher
1000+ posts

scratch2.0の提案

apple502j wrote:

inoking wrote:

apple502j wrote:

また、ScratchXのすべてが実装と言うわけにもいかなさそうです。
scratch-blocks(Scratch 3.0のブロック用エンジン)のソースコード全文検索に、「speak」「speech」「voice」は1件もひっかかりません。
先のリンクからたどれる https://scratch-mit-edu.ezproxyberklee.flo.org/discuss/post/2807348/ 辺りに Text to Speech は3.0で実装されるとありますが
これが「しゃべる」に該当するのではないですか?
しゃべるは、現段階での実装はされていません。今後入る可能性はありますが、プロトタイプだけで終わるかもしれません。
「3.0で追加される提案」には、ある程度確定情報が得られた時点で移動しています。
開発版やその公開ソースコードに登場したかどうかは見ていません。
この場合、STが追加すると言っているのだから、追加されるということでよいのではないでしょうか。
※すみません、https://scratch-mit-edu.ezproxyberklee.flo.org/discuss/post/2733556/ で示されている動画を詳細に確認したわけではありません。
itnkmkw
Scratcher
1000+ posts

scratch2.0の提案

inoking wrote:

当時の議論中に指摘してほしかったのですが(たまたま見てなかっただけかもしれませんが)
<(変数) キーが押された>
例えば下記のように代用できるようになります(ここでは同時押しは考慮していません)。
現状ではループにすることはできません。

ハッキングを使わない代用法ができただけでも十分ではないでしょうか。

同時押しについては
複数キーの情報をどう返すかという課題があり、そこが解決しないと何ともならないと思います。

[a] を [list v] に追加する
[b] を [list v] に追加する
...
定義 (key)
[key v] を [NULL] にする
() 回繰り返す
もし <(( v) 番目( [list v] ) :: list) キーが押された> なら
[key v] を (( v) 番目( [list v] ) :: list) にする
[このスクリプト v] を止める
end
end
でも,それをするととても重くなるんです。(ハッキングによるキー判定を参照)1つのブロックでやりたい。
inoking
Scratcher
1000+ posts

scratch2.0の提案

itnkmkw wrote:

でも,それをするととても重くなるんです。(ハッキングによるキー判定を参照)1つのブロックでやりたい。
これは単にプログラムの書き方が悪いためです。
リミックスしました。https://scratch-mit-edu.ezproxyberklee.flo.org/projects/195925233/
apple502j
Scratcher
1000+ posts

scratch2.0の提案

「Speech」がComing Soon になっていました。やはり動画が正しいようです。

そして残念なお知らせ ハッキングが使えなくなりました。
ハッキングで実現できた提案は今後は実現できなくなります。
masa2004
Scratcher
1000+ posts

scratch2.0の提案

なぜハッキングが使えなくなったのですか?
apple502j
Scratcher
1000+ posts

scratch2.0の提案

masa2004 wrote:

なぜハッキングが使えなくなったのですか?
ハッキングコードに%s とか %m とかありますね。
現在3.0ではそれらを使わない定義ブロックになっていて、使うにはソースコード(scratch-blocks)を改変する必要があります。(mod)
masa2004
Scratcher
1000+ posts

scratch2.0の提案

2.0でハッキングが使われていたプロジェクトも壊れるということですか?
ydscratch
Scratcher
30 posts

scratch2.0の提案

apple502j wrote:

masa2004 wrote:

なぜハッキングが使えなくなったのですか?
ハッキングコードに%s とか %m とかありますね。
現在3.0ではそれらを使わない定義ブロックになっていて、使うにはソースコード(scratch-blocks)を改変する必要があります。(mod)
うう、悲しい。
apple502j
Scratcher
1000+ posts

scratch2.0の提案

masa2004 wrote:

2.0でハッキングが使われていたプロジェクトも壊れるということですか?
はい。

masa2004
Scratcher
1000+ posts

scratch2.0の提案

apple502j wrote:

masa2004 wrote:

2.0でハッキングが使われていたプロジェクトも壊れるということですか?
はい。



これ結構やばくね
inoking
Scratcher
1000+ posts

scratch2.0の提案

ハッキングの話はトピ違いですよ。
移動したほうがよろしいかと。
mikikoii
Scratcher
1000+ posts

scratch2.0の提案

sakuzyo

Last edited by mikikoii (Jan. 4, 2018 09:23:33)

ko2222
Scratcher
1000+ posts

scratch2.0の提案

筆跡が円形のペンだけじゃなくて、正方形のペンも欲しい。
普通に正方形を描こうとしたら、最低でも横幅分の回数の繰り返しが必要になって、処理が重くなる可能性もある。
ukukukukuk
Scratcher
1000+ posts

scratch2.0の提案

ko2222 wrote:

筆跡が円形のペンだけじゃなくて、正方形のペンも欲しい。
普通に正方形を描こうとしたら、最低でも横幅分の回数の繰り返しが必要になって、処理が重くなる可能性もある。
同意見です。
MMGISS
Scratcher
1000+ posts

scratch2.0の提案

ko2222 wrote:

筆跡が円形のペンだけじゃなくて、正方形のペンも欲しい。
普通に正方形を描こうとしたら、最低でも横幅分の回数の繰り返しが必要になって、処理が重くなる可能性もある。
少し複雑な内容になりますが、プログラムを工夫すれば、大概の場合、横幅分以下の繰り返しで正方形を描画することができます。

例えば、三角形を高速に描画するプログラム
自分の作品でいうとhttps://scratch-mit-edu.ezproxyberklee.flo.org/projects/165542124/ (宣伝)

今回、太さ1のペンを正方形の幅回繰り返して正方形を描画した場合と、
三角形を描画するプログラム二つを組み合わせて正方形を描画した場合を比べて見ました。

1000*1000の正方形を前者の方法で描画した場合、処理回数(ここではペンを下ろした状態で移動する回数と定義)は当然最低180回必要ですが、
後者の方法で描画した場合、実際に数えて66回で済ませることができました。
正方形が大きければ大きいほど前者と後者の回数の差は大きくなり、1000*1000の正方形を描画した場合は前者が1000回、後者が90回となります。

このように、ハッキングなどは使わなくても、プログラムの工夫によって、こうした困難を回避することも可能です。
ko2222
Scratcher
1000+ posts

scratch2.0の提案

MMGISS wrote:

ko2222 wrote:

筆跡が円形のペンだけじゃなくて、正方形のペンも欲しい。
普通に正方形を描こうとしたら、最低でも横幅分の回数の繰り返しが必要になって、処理が重くなる可能性もある。
少し複雑な内容になりますが、プログラムを工夫すれば、大概の場合、横幅分以下の繰り返しで正方形を描画することができます。

例えば、三角形を高速に描画するプログラム
自分の作品でいうとhttps://scratch-mit-edu.ezproxyberklee.flo.org/projects/165542124/ (宣伝)

今回、太さ1のペンを正方形の幅回繰り返して正方形を描画した場合と、
三角形を描画するプログラム二つを組み合わせて正方形を描画した場合を比べて見ました。

1000*1000の正方形を前者の方法で描画した場合、処理回数(ここではペンを下ろした状態で移動する回数と定義)は当然最低180回必要ですが、
後者の方法で描画した場合、実際に数えて66回で済ませることができました。
正方形が大きければ大きいほど前者と後者の回数の差は大きくなり、1000*1000の正方形を描画した場合は前者が1000回、後者が90回となります。

このように、ハッキングなどは使わなくても、プログラムの工夫によって、こうした困難を回避することも可能です。
なるほど。
一応自分も正方形を描くプログラムを作りましたが(宣伝)、
それでも複雑なドット絵とかを描いて動かそうとしたりするとあれなので、やはり正方形のペンが欲しくなります。
mochimochiking
Scratcher
1000+ posts

scratch2.0の提案

任意の座標が頂点である多角形を塗りつぶす機能があればなお便利だと思います。

Powered by DjangoBB