RotStretcher? 99/12/28

メガデモの基本テクニックのひとつとして「RotZoomer」というものがあります。 拡大縮小回転させた画像を、画面いっぱいに敷き詰めるというものです。 どういうものかを見たい人で、QuadrupleDがお手元にある人は、「QuadrupleDのフォルダ\sample\hashiri」 というフォルダの中にあるプロジェクトをコンパイルして実行してみてください。 まさにそれですから。

とか何とかいってるうちに、結局作ってしまいましたよ、RotZoomer。 ソースを適当に切り貼りしただけなんですけど。スクロールはキャラクタセレクト画面に 使うことにしました。以前はバックにテクスチャ貼っただけのお粗末なものだったから...。 これで、ストーリー表示画面以外は全て、背景に動きがつきました。やったね!! スクロールがあるのとないのじゃ、大違いだもんね!!まぁ、そんなことはどうでもよく RotZoomer製作時のちょっとしたワンポイント。

話すと長くなるので簡単に済ましますが、回転の計算の際にX方向とY方向の増分を 求めるところがあるんですが、それをちょこっといじくってやると面白い効果が得られました。 コードとしてちょっと危険な気もしましたが、クリッピングはちゃんとやってあるから 大丈夫っしょー、ということでやってみることにしたんです。

こっからちょっと画像回転のコードを見た人または理解してる人を対象にした話になりますが (ごめんね)、うわさのX,Yの増分をXをsin値、Yをcos値にして実行してみてください。 RotZoomerっつーか、「RotStretcher」になったでしょ?うねうねと画像が伸び縮みするでしょ? う〜ん、面白い。

せっかくできたんだから、やっぱ見てやってください。 サンプル(っていうのか、これ?)をアップしておきます。

DOWNLOAD

※メガデモ
デモンストレーションプログラムがでかくなったもの。 見るとたいてい感動する。これで画像処理に目覚める人もいるが、 今のようなデモを作るのは容易ではない(僕はね)。

※QuadrupleD
DELPHIからDirectXが使えるようにするためのコンポーネント。 有名なDELPHIゲームがこれで作られているので、信頼性、実績ともに十分だと思う。

※クリッピング
画像が指定範囲内からはみ出さないようにする処理。はみっちゃだめなんです。

※画像回転
見かけとしては簡単なくせにいざやろうとすると そう簡単にはいかない画像処理。DelphiXでは標準で回転をサポートしている。






もどる