[HMC]年間5250円で独自ドメイン付属、ウィルスチェックありのレンタルサーバ!
Last update : 2000/10/10
演出&エフェクト 第8回
画像を溶かす
サンプルコードのダウンロード
  では、まずサンプルコードをダウンロードし、解凍して下さい。 私はVisual C++6.0でコンパイルしているので、をお持ちの方は Visual C++でプロジェクトファイルを開いて下さい(「effec_08.dsw」をダブルクリックすれば開けます)。 圧縮ファイルに含まれる「effec_08.exe」をダブルクリックし、実行してみて下さい(何かキーを押すと終了します)。 どうでしょう?画面が切り替わり、Takabo Softの文字が徐々にデロ〜ンと熔けて(?)いくと思います。
  というわけで、今回は画像を溶かすような処理について説明していきたいと思います。
早速サンプルコードの解説
というわけで、今回も順番に説明していきまーす。

んで、まずメインループ内で使用するデータを初期化します。
今回は、画像の横一列(548 x 1)につき1つのデータを作成し、高さが90あるので、90個分のデータを 作成します。「dy」はy座標、「dy_add」は(y座標の)毎ループ毎の増加量、「dy_count」は 処理を開始するまでの残りカウントです。
ここ(↑)でまずデータの座標を更新します。
dy_addに適当な定数を加えていくことで「重力」っぽい処理が再現できます。
(ゲーム制作基礎でもやりましたね)
データの座標を更新し終えたら次は表示です。
そのまま「dy」の示す座標に画像を貼り付けていくと、「穴」が空きます。
ですから、その穴を埋めるようにfor文とかで間を補ってやります。
前回に比べれば簡単ですね(^^;
あんまり「熔ける」という感じでは無いですが(爆
これを更に1ドットずつに区切って処理すればもっと本物っぽくなるかなぁ?