提供: Japanese Scratch-Wiki

(英語版からの翻訳)
 
(デフォルトソートの整備(Botによる自動編集)() 色が () 色に触れた (ブロック) --> () しよくか () しよくにふれた (ふろつく))
 
(4人の利用者による、間の7版が非表示)
1行目: 1行目:
{{ブロック
+
{{ひらがなヘッダ}}{{ブロック
 
| name = () 色が () 色に触れた
 
| name = () 色が () 色に触れた
| image     = File:2.0 Color () is () 色に触れた.png
+
| block     = <sb>[#000] 色が [#000] 色に触れた</sb>
 
| category  = [[調べるブロック|調べる]]
 
| category  = [[調べるブロック|調べる]]
 
| type      = [[真偽ブロック|真偽]]
 
| type      = [[真偽ブロック|真偽]]
9行目: 9行目:
  
 
このブロックは、衝突を調べるときに広く使用されている。
 
このブロックは、衝突を調べるときに広く使用されている。
 +
 
===引数===
 
===引数===
 
調べる色については、次の2つの方法で指定できる。
 
調べる色については、次の2つの方法で指定できる。
14行目: 15行目:
 
# ブロック内のカラースウォッチをクリックしてから、指定したい色のある場所までマウスポインターを移動して、その場所をクリックする。この場合、マウスの位置にあわせて、カラースウォッチの色も変化していくので、カラースウォッチがほしい色になったのを確認してそこでマウスをクリックすれば、無事にその色がセットされる (マウスポインターが[[Scratch]] [[プロジェクト]]の外に出ているときは、スウォッチの色が変化しないので注意)。たとえば、マウスポインターの下に青色の上にあるときにクリックすれば、カラースウォッチの色も青色になる。
 
# ブロック内のカラースウォッチをクリックしてから、指定したい色のある場所までマウスポインターを移動して、その場所をクリックする。この場合、マウスの位置にあわせて、カラースウォッチの色も変化していくので、カラースウォッチがほしい色になったのを確認してそこでマウスをクリックすれば、無事にその色がセットされる (マウスポインターが[[Scratch]] [[プロジェクト]]の外に出ているときは、スウォッチの色が変化しないので注意)。たとえば、マウスポインターの下に青色の上にあるときにクリックすれば、カラースウォッチの色も青色になる。
 
# カラースウォッチに[[演算ブロック]]を入れる。この場合、次の式を使う:
 
# カラースウォッチに[[演算ブロック]]を入れる。この場合、次の式を使う:
<scratchblocks>
+
<sb><(((r) * (65536)) + (((g) * (256)) + (b))) 色が (((r) * (65536)) + (((g) * (256)) + (b))) 色に触れた></sb>
<(((r) * (65536)) + (((g) * (256)) + (b))) 色が (((r) * (65536)) + (((g) * (256)) + (b))) 色に触れた>
 
</scratchblocks>
 
 
::「r」「g」「b」には、Red(赤)、Green(緑)、Blue(青)を0〜256の範囲で標準化した値が入る。
 
::「r」「g」「b」には、Red(赤)、Green(緑)、Blue(青)を0〜256の範囲で標準化した値が入る。
  
22行目: 21行目:
 
[[File:Color () is Over ()?.png|frame|right|このブロックはScratch1.2で登場した]]
 
[[File:Color () is Over ()?.png|frame|right|このブロックはScratch1.2で登場した]]
 
In versions of Scratch before 1.2, thisブロック was called Color () is Over ()?. -->
 
In versions of Scratch before 1.2, thisブロック was called Color () is Over ()?. -->
 
  
 
==注意==
 
==注意==
28行目: 26行目:
  
 
===仕様上の制限===
 
===仕様上の制限===
スプライトが指定した色に触れていないからといって、 () 色に触れたブロックが常に「偽:False」を返すとは限らない。 この原因は、Scratchが色を調べるときの処理時間を減らすことを目的とした{{citation needed}}、実装上の制限によるものである。ステージでは1600万以上の色を表現できる一方、Scratchが正しく処理できる色の数はずっと少ない<ref>https://scratch.mit.edu/projects/10941245/</ref>。これはつまり、『「() 色に触れたブロック」は、異なるけれどよく似た色を調べた場合、「''間違った「真」''」を返すことが多い』ということだ。多くのScratchersは、この現象に気づかないかもしれない。 しかし、厳密に色を識別したいと思ったときは、このScratchの制限を思い出して我慢しなければいけない。
+
スプライトが指定した色に触れていないからといって、 () 色に触れたブロックが常に「偽:False」を返すとは限らない。 この原因は、Scratchが色を調べるときの処理時間を減らすことを目的とした{{citation needed}}、実装上の制限によるものである。ステージでは1600万以上の色を表現できる一方、Scratchが正しく処理できる色の数はずっと少ない<ref>[[scratch:projects/10941245/|https://scratch.mit.edu/projects/10941245/]]</ref>。これはつまり、『「() 色に触れたブロック」は、異なるけれどよく似た色を調べた場合、「''間違った「真」''」を返すことが多い』ということだ。多くのScratchersは、この現象に気づかないかもしれない。 しかし、厳密に色を識別したいと思ったときは、このScratchの制限を思い出して我慢しなければいけない。
  
 
===アンチエイリアス===
 
===アンチエイリアス===
画像の中には、Scratch[[ペイントエディター]]ではギザギザに見えているものであっても、ステージ上で[https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%81%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9 アンチエイリアス] が適用されているものがある。  そのため、クリックして色を選択した場合、意図せず、端のほうのアンチエイリアスとして薄くなっている色を選択しないよう注意が必要である。
+
画像の中には、Scratch[[ペイントエディター (2.0)|ペイントエディター]]ではギザギザに見えているものであっても、ステージ上で[[Wikipedia:アンチエイリアス|アンチエイリアス]] が適用されているものがある。そのため、クリックして色を選択した場合、意図せず、端のほうのアンチエイリアスとして薄くなっている色を選択しないよう注意が必要である。
  
 
===パフォーマンス===
 
===パフォーマンス===
複数のScratchersによると、 () 色が () 色に触れたブロック は、[[() に触れた (ブロック)]]に比べると処理速度が遅いので注意が必要である<ref>https://scratch.mit.edu/projects/139152265/</ref>。() [[() (カスタムブロック)|カスタムブロック]] 「画面を再描画せずに実行する」に指定した () [[() (カスタムブロック)|カスタムブロック]] の中で実行するとパフォーマンスが改善するが、同じカスタムブロック内で「() に触れた (ブロック) 」を使うと、「() 色に触れた」ブロックが早くなった以上にパフォーマンスが低下する。
+
複数のScratchersによると、 () 色が () 色に触れたブロック は、[[() に触れた (ブロック)]]に比べると処理速度が遅いので注意が必要である<ref>[[scratch:projects/139152265|https://scratch.mit.edu/projects/139152265/]]</ref>。 「画面を再描画せずに実行する」に指定した [[定義]] の中で実行するとパフォーマンスが改善するが、同じ定義内で「() に触れた (ブロック) 」を使うと、「() 色に触れた」ブロックが早くなった以上にパフォーマンスが低下する。
  
 
==使用例==
 
==使用例==
69行目: 67行目:
 
</scratchblocks>
 
</scratchblocks>
  
==参照==
+
==関連項目==
 
*[[() 色に触れた (ブロック)|() 色に触れた]]
 
*[[() 色に触れた (ブロック)|() 色に触れた]]
==References==
+
 
 +
==出典==
 
<references/>
 
<references/>
 
{{調べるブロック}}
 
{{調べるブロック}}
 
[[カテゴリ:調べるブロック]]
 
[[カテゴリ:調べるブロック]]
 
[[de:Farbe () berührt ()? (Block)]]
 
[[de:Farbe () berührt ()? (Block)]]
[[en:Color () is Touching ()? (block)]]
+
[[en:Color () is Touching ()? (block)]]{{デフォルトソート:() しよくか () しよくにふれた (ふろつく)}}

2019年8月13日 (火) 01:02時点における最新版

このきじは ひらがなのページがありません。ごめんなさい。
() 色が () 色に触れた
[#000] 色が [#000] 色に触れた
カテゴリ 調べる
タイプ 真偽

() 色が () 色に触れた ブロック調べる真偽ブロック)は、実行するスプライトに含まれる1色を指定して、その色が指定したもう1色に触ったかどうかを判定するブロックである。触れていれば、真(True:はい)を返す。

このブロックは、衝突を調べるときに広く使用されている。

引数

調べる色については、次の2つの方法で指定できる。

  1. ブロック内のカラースウォッチをクリックしてから、指定したい色のある場所までマウスポインターを移動して、その場所をクリックする。この場合、マウスの位置にあわせて、カラースウォッチの色も変化していくので、カラースウォッチがほしい色になったのを確認してそこでマウスをクリックすれば、無事にその色がセットされる (マウスポインターがScratch プロジェクトの外に出ているときは、スウォッチの色が変化しないので注意)。たとえば、マウスポインターの下に青色の上にあるときにクリックすれば、カラースウォッチの色も青色になる。
  2. カラースウォッチに演算ブロックを入れる。この場合、次の式を使う:

<(((r) * (65536)) + (((g) * (256)) + (b))) 色が (((r) * (65536)) + (((g) * (256)) + (b))) 色に触れた>

「r」「g」「b」には、Red(赤)、Green(緑)、Blue(青)を0〜256の範囲で標準化した値が入る。


注意

() 色が () 色に触れたブロックは、思っていたのと違う結果になることがある。

仕様上の制限

スプライトが指定した色に触れていないからといって、 () 色に触れたブロックが常に「偽:False」を返すとは限らない。 この原因は、Scratchが色を調べるときの処理時間を減らすことを目的とした[要出典]、実装上の制限によるものである。ステージでは1600万以上の色を表現できる一方、Scratchが正しく処理できる色の数はずっと少ない[1]。これはつまり、『「() 色に触れたブロック」は、異なるけれどよく似た色を調べた場合、「間違った「真」」を返すことが多い』ということだ。多くのScratchersは、この現象に気づかないかもしれない。 しかし、厳密に色を識別したいと思ったときは、このScratchの制限を思い出して我慢しなければいけない。

アンチエイリアス

画像の中には、Scratchペイントエディターではギザギザに見えているものであっても、ステージ上でアンチエイリアス が適用されているものがある。そのため、クリックして色を選択した場合、意図せず、端のほうのアンチエイリアスとして薄くなっている色を選択しないよう注意が必要である。

パフォーマンス

複数のScratchersによると、 () 色が () 色に触れたブロック は、() に触れた (ブロック)に比べると処理速度が遅いので注意が必要である[2]。 「画面を再描画せずに実行する」に指定した 定義 の中で実行するとパフォーマンスが改善するが、同じ定義内で「() に触れた (ブロック) 」を使うと、「() 色に触れた」ブロックが早くなった以上にパフォーマンスが低下する。

使用例

  • スプライト上の1色が、指定した色に触れるまで動かす
 < [#ea235c] 色が [#cba81a] 色に触れた>まで繰り返す
  [スプライト2 v] へ向ける
(10) 歩動かす
end
  • スプライトの1色が特定の色に触れたら何かさせる。たとえば、青色(水)に触れたら、それに反応する
もし <[#ffffff] 色が [#0000FF] 色に触れた> なら
コスチュームを [水を飲んでいる v] にする
(1) 秒待つ
コスチュームを [水を飲んでいない v] にする
end
  • 特定の色のカベにぶつかったら弾丸を止める
<[#ffd700] 色が [#f321a5] 色に触れた>まで繰り返す
 (10) 歩動かす
end
このクローンを削除する
  • スプライトが迷路の行き止まりに到達したかどうかを調べる
ずっと
もし <[#000000] 色が [#007f00] 色に触れた> なら
[あーあ、行き止まり!] と (2) 秒言う

関連項目

出典

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。