UIの作り方講座 ステージセレクト編ステージ画像を作る
次のような条件でアニメーションが変化するオブジェクトを作っていきます。
[NoSelect] | カーソルがステージと一致していない場合 |
---|---|
[Select] | カーソルとステージが一致している場合 |
[ClearNoSelect] | ステージをクリアしており、カーソルがステージと一致していない場合 |
[ClearSelect] |
ステージをクリアしており、カーソルとステージが一致している場合 これらは、条件判定用のアクションを一つ作っておき、共通変数、共通スイッチが一致する場合、該当するアクションへ遷移するようにすれば作れます。 |
それでは、作り方を紹介します。
アニメーションの作成
こちらの画像を登録します。
ステージ画像(6×6)
1つのオブジェクトに4パターンの画像を使いますので、合計で4×8=32の画像を登録する必要があります。
※アニメーションは一つにまとめても、オブジェクトごとに分けてもどちらでも構いません。オブジェクトコピーをするときにどちらもメリット、デメリットがあるのでやりやすい方を選択してみてください。
アニメーションを一つにまとめる |
利点:オブジェクトの設定でアニメーションを変更する必要がない。 欠点:プルダウンが長くなって選択しにくい。 |
---|---|
オブジェクトごとに分割する |
利点:モーション数と配置が同じ場合、アクションのモーション設定が不要な場合がある。 欠点:オブジェクトの設定でアニメーションを変更する必要がある。 |
オブジェクトの設定
- 1[基本設定]をクリックし、「消滅後の復活条件」を「無し」に変更します。
- 2[移動とジャンプ]をクリックし、「重力の影響」を[0.00]に設定します。
オブジェクトの作成
まずは未クリア時のアクションを作ります。アクションはモーション以外の設定はありません。
- 1アクションプログラム枠内を右クリックし「アクションを追加」をクリックします。
- 2画像のように、3つのアクションを作成し、それぞれ名前とモーションを設定します。
[if stage=x] (初期アクション) | 条件分岐用のアクションです。モーションは「遷移前のモーションを引き継ぐ」を選択します。 |
---|---|
[NoSelect] | 共通変数stageの値が1ではないときのアクションです。 |
[Select] | 共通変数stageの値が1のときのアクションです。 |
[NoSelect][Select]には、それぞれのモーションを設定します。
次にリンクを設定していきます。
[if stage=x]→[NoSelect]
共通変数stage≠1の場合、遷移するようにします。
- 1リンク元を右クリックし、[リンクを追加]をクリックします。
- 2矢印が伸びますので、リンク先をクリックします。
- 3その他の条件の[+]をクリックすると、その他の条件設定ウィンドウがポップアップします。
- 4[2]タブをクリックし、「スイッチ・変数が変化」にチェックを入れます。
- 5変数を条件に設定をクリックします。
- 6プルダウンをクリックし、[プロジェクト名 共通]をクリックします。
- 7その下のプルダウンをクリックし、[stage]変数をクリックします。
- 8記号のプルダウンをクリックし、≠をクリックします。
- 9定数をクリックし、[1.00]に設定します。
- 10[OK]ボタンをクリックします。
[NoSelect]→[if stage=x]
同様に、変数を設定していきます。共通変数stage=1の場合、遷移するように設定します。
[if stage=x]→[Select]
共通変数stage=1の場合、遷移するように設定します。 [NoSelect]→[if stage=x]と同じなので、コピーしましょう。
- 1[NoSelect]→[if stage=x]のリンクをクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[if stage=x]をクリックして[Ctrl]+[V]、もしくは右クリックから「リンクをペースト」をクリックします。
- 3[if stage=x]から矢印が出るので、[Select]をクリックしてリンクをつなぎます。
[Select]→[if stage=x]
[if stage=x]→[NoSelect]と同じなので、コピーしましょう。
- 1[if stage=x]→[NoSelect]のリンクをクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[Select]をクリックして[Ctrl]+[V]、もしくは右クリックから「リンクをペースト」をクリックします。
- 3[Select]から矢印が出るので、[if stage=x]をクリックしてリンクをつなぎます。
まだ途中ですが、シーンに貼り付けて実際に動かしてみましょう。
シーンの貼り付けについて
初期アクションが「遷移前のモーションを引き継ぐ」のため、オブジェクトを貼り付けるときは透明になってしまいます。位置を合わせづらい場合は、「出現時のアクション」を別のアクションに変更してレイアウトを調整します。終わったらオブジェクトの初期アクションに戻しておきましょう。
続いて、ステージをクリアしている場合のアクションを作成します。ステージをクリアしているかどうかはスイッチで判別します。
共有スイッチの作り方
共通スイッチは変数と同様に[素材]から登録します。
- 1[素材]をクリックします。
- 2[スイッチ]をクリックします。
- 3スイッチ一覧の枠内を右クリックし、「スイッチを追加」をクリックします。
- 4スイッチ名を変更します。ここではStageClear1~8と8つのスイッチを追加します。
先ほどと同じように、アクションを配置します。
- 1アクションプログラム枠内を右クリックし「アクションを追加」をクリックします。
- 2画像のように、2つのアクションを作成し、それぞれ名前とモーションを設定します。
ClearNoSelect | 共通スイッチStageClear1がON and 共通変数stageの値が1ではないときのアクションです。 |
---|---|
ClearSelect | 共通スイッチStageClear1がON and 共通変数stageの値が1のときのアクションです。 |
[ClearNoSelect][ClearSelect]には、それぞれ、適したモーションを設定します。
※見やすいように[if stage = x]はショートカットを作成しております。
続いてリンクを作成します。
[if stage=x]→[ClearNoSelect]
[共通スイッチStageClear1 が ON] と [共通変数stage ≠ 1]の両方を満たすとき、切り替わるようにリンクを設定します。[if stage=x]→[NoSelect]をコピーして編集すると楽です。
- 1[if stage=x]→[NoSelect]のリンクをクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[if stage=x]をクリックして[Ctrl]+[V]、もしくは右クリックから「リンクをペースト」をクリックします。
- 3[if stage=x]から矢印が出るので、[ClearNoSelect]をクリックしてリンクをつなぎます。
- 4判定優先度を1に変更します。
- ※優先度を高く設定しないと、[if stage=x]→[NoSelect]に遷移する可能性があります。
- 5その他の条件の[+]をクリックすると、その他の条件設定ウィンドウがポップアップします。
- 6[2]タブをクリックし、「スイッチ・変数が変化」にチェックを入れます。
- 7スイッチを条件に設定をクリックします。
- 8プルダウンをクリックし、[プロジェクト名 共通]をクリックします。
- 9┗プルダウンをクリックし、[StageClear1]スイッチをクリックします。
- 10[OK]ボタンをクリックします。
- 11その他の条件設定を二つ設定すると[OR]のプルダウンが出現します。プルダウンをクリックして[AND]を選択します。
※ORの場合は、どちらか片方の条件を満たした場合、ANDは両方の条件を満たした場合にアクションが切り替わります。
[ClearNoSelect]→[if stage=x]
[共通変数stage = 1]の場合に切り替わるようにします。 [NoSelect]→[if stage=x]とまったく同じなので、コピーしてしまいましょう。
- 1[NoSelect]→[if stage=x]のリンクをクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[ClearNoSelect]をクリックして[Ctrl]+[V]、もしくは右クリックから「リンクをペースト」をクリックします。
- 3[ClearNoSelect]から矢印が出るので、[if stage=x]をクリックしてリンクをつなぎます。
[if stage=x]→[ClearSelect]
[共通スイッチStageClear1 が ON] と [共通変数stage = 1]の両方を満たすとき、切り替わるようにリンクを設定します。[if stage=x]→[Select]をコピーして編集すると楽です。
- 1[if stage=x]→[Select]のリンクをクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[if stage=x]をクリックして[Ctrl]+[V]、もしくは右クリックから「リンクをペースト」をクリックします。
- 3[if stage=x]から矢印が出るので、[ClearSelect]をクリックしてリンクをつなぎます。
- 4判定優先度を1に変更します。
- ※優先度を高く設定しないと、[if stage=x]→[Select]に遷移する可能性があります。
- 5その他の条件の[+]をクリックすると、その他の条件設定ウィンドウがポップアップします。
- 6[2]タブをクリックし、「スイッチ・変数が変化」にチェックを入れます。
- 7スイッチを条件に設定をクリックします。
- 8プルダウンをクリックし、[プロジェクト名 共通]をクリックします。
- 9┗プルダウンをクリックし、[StageClear1]スイッチをクリックします。
- 10[OK]ボタンをクリックします。
- 11その他の条件設定を二つ設定すると[OR]のプルダウンが出現します。プルダウンをクリックして[AND]を選択します。
※ORの場合は、どちらか片方の条件を満たした場合、ANDは両方の条件を満たした場合にアクションが切り替わります。
[ClearSelect]→[if stage=x]
[共通変数stage ≠ 1]の場合に切り替わるようにします。 こちらも[Select]→[if stage=x]とまったく同じなので、コピーしてしまいましょう。
- 1[Select]→[if stage=x]のリンクをクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[ClearSelect]をクリックして[Ctrl]+[V]、もしくは右クリックから「リンクをペースト」をクリックします。
- 3[ClearSelect]から矢印が出るので、[if stage=x]をクリックしてリンクをつなぎます。
これでSTAGE01用の画像オブジェクトが完成です。実際に動かしてみましょう。
テストプレイ中にキーボードの[F1]キーを押すとメニューが表示されます。
[デバッグ]-[共通変数とスイッチ情報]をクリックすると、ウィンドウが表示されます。
これにより、スイッチを手動で変更することができます。
※[素材]-[スイッチ]で初期値をONにしてテストしても良いです。
スイッチを切り替えてこのように動作すれば成功です。
※[Select]→[if stage=x]の条件にStageClearがONが無いので、一度カーソルを動かさないとClearには切り替わりません。
切り替わらない場合は条件や優先度を見直してみましょう。
同様に、STAGE02~STAGE08用のオブジェクトを作成します。
作成したオブジェクトをコピーして、変数を修正すると時間が短縮できます。
- 1オブジェクト一覧から画像オブジェクト(stageselect_stage01)をクリックし、[Ctrl]+[C]、もしくは、右クリックからコピーをクリックします。
- 2[Ctrl]+[V]、もしくは右クリックして貼り付けをクリックします。
- 3コピーしたオブジェクトを右クリックし、オブジェクトの設定をクリックします。
- 4ファイル名を変更します。アニメーションを別々で作成した場合は、アニメーションの設定を変更します。
- 5[NoSelect][Select][ClearNoSelect][ClearSelect]のアクションのモーションをSTAGE02~STAGE08用のものに変更します。
- 6各リンクをクリックし、その他の条件設定の[スイッチ・変数が変化]をダブルクリックします。
- 7変数、スイッチの値を対応するステージ数に合わせて変更します。
8つのオブジェクトが完成したら、シーンに貼り付けて完成です。貼り付けるときは表示優先度に注意しましょう。
テストプレイするとこのような感じになります。
いかかでしたでしょうか。 オブジェクト数が多くなりので少し作るのが大変ですが、表現の幅は広がったと思います。 今回はステージセレクトとして紹介しましたが、キャラクターセレクトとしても使えますので、色々アレンジしてください。