メインコンテンツへスキップ

アニメーション

Mahiru約2分

アニメーション

背景や立ち絵にアニメーションを設定する

setAnimation:アニメーション名 -target=作用対象; のステートメントを使用します。

例:

; // 中央の立ち絵に下から入ってくるアニメーションを設定し、次の行に移動します
setAnimation:enter-from-bottom -target=fig-center -next;

現在、プリセットされたアニメーションは以下の通りです。

アニメーション効果アニメーション名持続時間(ミリ秒)
フェードインenter300
フェードアウトexit300
左右に一度揺れるshake1000
下側から入ってくるenter-from-bottom500
左側から入ってくるenter-from-right500
右側から入ってくるenter-from-right500
前後に一度移動するmove-front-and-back1000

現在、アニメーションの作用対象は以下の通りです。

target実際の対象
fig-left左の立ち絵
fig-center中央の立ち絵
fig-right右の立ち絵
bg-main背景
ididを持つ特定の立ち絵

カスタムアニメーション

アニメーションを作成する

アニメーションファイルは game/animation にあります。独自のカスタムアニメーションを作成することができます。

アニメーションファイルは JSON で記述されており、リファレンスドキュメントopen in new window で JSON 構文を参照することができます。

各アニメーションファイルは アニメーションシーケンス を表し、JSON 配列を使用して記述されます。以下は、左側から入ってくるアニメーションを記述した例です。

例: enter-from-left.json

[
  {
    "alpha": 0,
    "scale": {
      "x": 1,
      "y": 1
    },
    "position": {
      "x": -50,
      "y": 0
    },
    "rotation": 0,
    "blur": 5,
    "duration": 0
  },
  {
    "alpha": 1,
    "scale": {
      "x": 1,
      "y": 1
    },
    "position": {
      "x": 0,
      "y": 0
    },
    "rotation": 0,
    "blur": 0,
    "duration": 500
  }
]

各プロパティの意味は以下の通りです。

プロパティ名説明
alpha透明度、範囲は 0-1
scaleスケール
position位置オフセット
rotation回転角度、単位はラジアン
blurガウスぼかしの半径
durationこのタイムスライスの持続時間、単位はミリ秒 (ms)
oldFilmオールドフィルム効果、0 はオフ、1 はオン
dotFilmドット状のフィルム効果、0 はオフ、1 はオン
reflectionFilm反射フィルム効果、0 はオフ、1 はオン
glitchFilm故障フィルム効果、0 はオフ、1 はオン
rgbFilmRGB フィルム効果、0 はオフ、1 はオン
godrayFilm光輝効果、0 はオフ、1 はオン

次に、animationTable にカスタムアニメーションのファイル名(拡張子は不要)を追加する必要があります。

animationTable.json ファイルで:

["enter-from-left","enter-from-bottom","enter-from-right"]

その後、スクリプトで呼び出すことができます。

setAnimation:enter-from-left -target=fig-left -next;

一部のプロパティを省略する

アニメーションで一部のプロパティだけを操作する必要がある場合は、アニメーションに参加しない他のプロパティを空欄にして、デフォルトのままにすることができます。

例:enter.json

[
  {
    "alpha": 0,
    "duration": 0
  },
  {
    "alpha": 1,
    "duration": 300
  }
]

変換を使用する

持続時間が 0 ミリ秒で、タイムスライスが 1 つしかないアニメーションは、変換です。

例:

[
  {
    "alpha": 0,
    "duration": 0
  }
]

登場・退場のエフェクトを設定する

WebGAL のデフォルトのフェードイン・フェードアウトの登場・退場エフェクトを上書きして、独自のエフェクトに置き換えることもできます。例えば、以下のようにします。

setTransition: -target=fig-center -enter=enter-from-bottom -exit=exit;

注意:立ち絵や背景が設定されている場合にのみ、登場・退場エフェクトを設定することができます。登場・退場エフェクトを設定するコードは、立ち絵や背景の設定コードの に記述します。また、登場・退場エフェクトを設定するステートメントは、立ち絵や背景を設定するステートメントの 直後 に連続して実行する必要があります。そうしないと、正しく適用されません。

ヒント

なぜそうする必要があるのでしょうか?

立ち絵や背景を設定すると、立ち絵や背景にデフォルトの登場・退場アニメーションが設定されます。立ち絵や背景を設定した後、立ち絵や背景はすぐにステージに表示されるのではなく、登場・退場エフェクトの設定を待ちます。

立ち絵や背景を設定した後、すぐに登場・退場エフェクトを設定するステートメントを実行すると、デフォルトの登場・退場アニメーションを上書きして、登場・退場エフェクトをカスタマイズすることができます。設定しない場合は、登場・退場時にデフォルトのアニメーションが実行されます。

立ち絵や背景を設定した後、すぐに登場・退場エフェクトを設定せずに、画像がすでに登場してから登場アニメーションを上書きしても意味がありません。しかし、この時点で画像がまだ登場していない場合は、設定した登場アニメーションに意味があります。立ち絵や背景が登場する際に正しく適用されます。