テーマ
テーマとは64色のパレットで、オブジェクトはその色をスロット番号で参照します。テーマを変えると、それを参照しているものすべてが一緒に変わります
タイプがテーマの色は自分の色を持たず、スロット番号だけを保存します。現在のフレームでアクティブなテーマのそのスロットにある色を使います
これが手で入力した色より優れている理由と、どのテーマでもレベルを読みやすく保つ方法:色、テーマ、ポストプロセス
テーマが持つもの
- 名前:一覧や選択ウィンドウに表示されます
- ID、
ThemeId。テーマのキーフレームは、名前ではなくこのIDでテーマを参照します - 8×8のグリッドに並ぶ64色、それぞれ透明度を持ちます
- 各スロットのスロット名、任意。どのスロットにも名前を付けていない間は、ファイルには名前のリストの代わりに
nullが保存されます
テーマはレベルフォルダー内の別ファイルではなく、level.jsonの中のデータです(レベルに必要なものを参照)。1つのレベルにいくつでもテーマを持てます
ゲームはスロットに役割を割り当てません:ゲーム自体のBalancedテーマは、64色を色相ごとにまとめているだけです
色が値を見つける仕組み
2段階です:
- イベントタイムラインの
テーマトラックが、このフレームでどのテーマがアクティブかを決めます - タイプが
テーマの色が、アクティブなテーマの0〜63のスロットを指定します
テーマを参照できるものには、たとえばシェイプの色(角ごとに個別)、テキストの色、レベルの背景があります
スロットの位置がそのスロットの正体です。色を別のスロットに移すと、古いスロットを参照していたものはすべて色が変わります
時間に沿ったテーマの切り替え
2つのテーマのキーフレームの間では、ゲームがパレット全体を一方のテーマからもう一方へなめらかにブレンドします。イージングは後ろのキーフレームのものが使われます(キーフレームとイージングを参照)
テーマのキーフレームが1つもない場合、すべてのスロットは白になります
新しいキーフレームにはLinearが設定されるため、パレットは前のテーマのキーフレームからこのキーフレームまでの区間全体で少しずつ変化します。テーマをドロップでぴったり切り替えるには、ドロップのキーフレームにConstantを設定します
テーマのキーフレームはテーマそのものより長く残ることがあります。キーフレームがまだ参照しているテーマを削除すると、そのフレームはすべて白になります。キーフレーム自体は残ります。そのようなテーマを削除する前に、エディターは確認を求めます
テーマの作成と編集
レベルのリソースにあるテーマタブに、レベルのテーマが表示されます。タブには作成とインポートがあります。行をクリックするとテーマエディターが開きます:
- テーマの
名前 テーマIDとIDを再生成- 8×8のグリッド。セルをクリックすると選択され、番号付きの
色:が表示され、その色がグリッドの下のカラーホイールに読み込まれます - 選択したセルの
スロット名
エディターはコピーを編集します。保存するまで、レベルには何も反映されません。保存そのものは元に戻す操作の1ステップです
スロットの選び方
色をテーマに切り替え、テーマカラーを選択を開きます
グリッドには、再生ヘッドの位置ではなく、編集中のキーフレームのフレームでブレンドされた状態のパレットが表示されます。その横には、そのフレームの前後にある2つのテーマのキーフレームと、それぞれで選択中のスロットが持つ色が表示されます。名前のないスロットには(名前なし)と表示されます
共有とインポート
- このデバイスの共有ライブラリ。テーマの行にある
エクスポートは、テーマをresources/themesに保存します。これはデバイス全体の共有ライブラリで、resourcesはlevelsの隣にあります(レベルフォルダーとバックアップを参照)。テーマライブラリはその中身を表示し、すでにレベル内のものに印を付けます。削除はテーマをライブラリから除去します。インポートするとテーマがレベルにコピーされるため、レベルが自分のライブラリに依存することはありません。テーマライブラリにはコレクションのテーマも、出どころを示すチップ付きで表示されます:ライブラリとコレクション - ゲームのテーマ。
テーマを選択では、レベルのテーマと並んで、ゲームに同梱されているテーマが表示されます