デフォルトスプライトの表示について

概要

  • スクラッチ起動時や、新規プロジェクトの開始時にはネコのスプライトが表示されますが、これをデフォルトスプライトと呼びます。
  • この記事ではデフォルトスプライトが表示される流れについて説明します。


起動時や新しいプロジェクトを作成する際、ScratchFrameMorph の newScratchProject メソッドがスプライトの生成を行いますが、メソッド内では ScratchFrameMorph のクラス側の defaultSprite メソッドの返り値を用いてスプライトを生成します。

defaultSpriteメソッドでは、DefaultSprite というクラス変数に格納されているオブジェクトか、(ScratchFrameMorph skinAt: #defaultSpriteCostume) で得られた画像を加えた ScratchSpriteMorph オブジェクトを使います。

DefaultSprite クラス変数へのオブジェクトの設定は、ScratchFrameMorph の setDefaultSprite メソッドが行っています。

Costumeフォルダに default.sprite というファイルがあれば、それを読み込んで DefaultSprite の内容とします。
でなければ、Costumeフォルダで default.gif, default.png, default.jpg, default.bmp のファイルを順に探し、存在していれば生成したScratchSpriteMorph オブジェクトに加えて DefaultSprite の内容とします。

つまり、Costumeフォルダに上の順序でファイルを探し、もしあれば取り込まれてデフォルトスプライトになります。そのようなファイルを用意すれば起動時に表示されるスプライトを変更することができます。
そのようなファイルを使わずに起動時のスプライトを変更したいなら、ロゴの変更方法の時のように、ScratchFrameMorph のScratchSkinに #defaultSpriteCostume というキーでColorFormを登録すれば良いわけです。具体的な方法については「デフォルトスプライトの変更方法」を参照してください。