Platform SDK: DirectX

パレット アニメーション

パレット アニメーションとは、サーフェスを表示したときに、それ自体の外観を変更するためにサーフェスのパレットを修正するプロセスを指す。繰り返しパレットを変更することにより、実際にサーフェスのコンテンツを変更しなくても、サーフェスが変更したように見せることができる。このため、パレット アニメーションでは、コンテンツを変えずにごくわずかなオーバーヘッドで、サーフェスの外観を修正する手段を提供する。

簡単にパレット アニメーションを実現するには、以下の 2 つの方法がある。

[C++]

最初の方法を使う場合、アニメーションしようとする色に対応する個別のパレット エントリを変更し、それから IDirectDrawPalette::SetEntries メソッドを 1 回呼び出してエントリをリセットする。

2 番目の方法は、2 つ以上の DirectDrawPalette オブジェクトが必要になる。この方法を使う場合、IDirectDrawSurface7::SetPalette メソッドを呼び出して、サーフェス オブジェクトごとに 1 つのパレット オブジェクトをアタッチしながら、アニメーションを実行する。

どちらの方法もハードウェア依存ではないので、アプリケーションに最適に機能すると思われる方を選択するといい。

特定の情報やパレット アニメーションの実現例については、「チュートリアル 5 : パレットの動的変更」を参照すること。

[Visual Basic]

最初の方法を使う場合、アニメーションしようとする色に対応する個別のパレット エントリを変更し、それから DirectDrawPalette.SetEntries メソッドを 1 回呼び出してエントリをリセットする。

2 番目の方法は、2 つ以上の DirectDrawPalette オブジェクトが必要になる。この方法を使う場合、DirectDrawSurface7.SetPalette メソッドを呼び出して、サーフェス オブジェクトごとに 1 つのパレット オブジェクトをアタッチしながら、アニメーションを実行する。

どちらの方法もハードウェア依存ではないので、アプリケーションに最適に機能すると思われる方を選択するといい。