提供:Japanese Scratch-Wiki

このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
コスチュームを () にする
コスチュームを (コスチューム2 v) にする
カテゴリ 見た目
タイプ スタック

コスチュームを () にするブロック(見た目ブロックスタックブロック)とは、スプライトコスチュームを指定のものに変更するブロックである。

このブロックは、よく使われるブロックの1つであり、コスチュームを特定のものに変えたいときに使用される (コスチュームを変更するブロックには、ほかに次のコスチュームにするブロックも存在するが、こちらはコスチュームリスト上の次のコスチュームにしか変更できない)。変更するコスチュームは、「数値またはコスチューム名」を返す変数ブロック(または値ブロック)でも指定できる。

ステージの場合は、このブロックに対応するブロックとして、背景を () にするが用意されている。

経緯

以前のバージョンのブロック

Scratchの最初期(リリース前の段階)は、このブロックは「Look Like()」(()に見える)という名前だった。そのため、このブロックを定義しているSqueakのメソッド名は、Scratch 1.4にいたるまでずっと「lookLike」という名前であった(これは、それ以前のScratchで作成されたプロジェクトとの互換性を維持するためである)。Scratch 2.0でも、このブロックは内部上で「lookLike」という名前が付いている(GitHub参照)。

実装の詳細

Scratch 3.0では、このブロックは以下のように実装されている。

  1. もし計算結果としての数値が渡されたなら、それをコスチュームの番号とみる。計算結果ではない(() と ()など)なら、コスチュームの名前とみる。
  2. でなければ、まずその引数と同じ名前のコスチュームを探す。
  3. 「next costume」の場合は、次のコスチュームにする。
  4. 「previous costume」の場合は、前のコスチュームにする。
  5. 引数が数字として解釈でき、またはスペースの場合は、それをコスチュームの番号とみる。

使用例

わかりやすさが重視された結果、このブロックは、スプライトのコスチューム変更のみに機能が絞られている。しかし、コスチューム変更が必要な機会は多く、アニメーション、ゲーム、シミュレーションなど、多くの場面でこのブロックが使用されている。

次によくある使用例を示す。

  • コスチュームを変えるシンプルな例
[メッセージ1 v] を受け取ったとき
コスチュームを (コスチューム2 v) にする
x座標を (0)、y座標を (0) にする
表示する
  • 別の処理の後、コスチュームを変える
<(変数) = [50]> まで待つ
x座標を (10) ずつ変える
コスチュームを (コスチューム1 v) にする

別のブロックによる表現

詳細は「代用ブロック一覧」を参照

このブロックの動作は、次のコードで再現できる。

<(コスチュームの[番号 v]) = (変えたいコスチュームの番号)> まで繰り返す
次のコスチュームにする
end

ただし、通常はコスチュームを () にするブロックを使ったほうが、かなり動作が速い。

アルファベットの大小判定 

詳細は「大文字小文字の判別」を参照

コスチュームの名前は、大文字と小文字が区別される。

例えば、「a」というコスチュームがあったとして、

コスチュームを (A v) にする

を実行しても、コスチュームが変更されることはない。これは、コスチューム名の大文字と小文字が区別されているからである。

これを利用して、あるアルファベットが大文字であるかどうかを判定することができる。

関連項目

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