まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログです。その他、ゲーム関連の記事、日々の戯言など。
先日作製した画像を使ってラスタースクロールっぽい動作をするプログラムを作ってみました。
こんな感じ↓
動画はカクカクしていますが、実際はスムーズに動いています。画像が切れてしまってますが
テストって事で^^;
プログラムはコチラ↓
http://file.ktstg.blog.shinobi.jp/yougan_raster_scroll.zip
VC++2008EE+DXライブラリ3.06e使用
ラスタースクロールについてはコチラのエントリで書いていますが、画像を任意の大きさに
横割りなり縦割りなりして、三角関数で波を作ってそれに合わせて画像を表示させるって感じです。
プログラム中のyougandraw()関数の中の
//DrawRectGraph( zure[i] , i , 0 , i , 640 , 1 , yougan , TRUE , FALSE ) ;//横揺れ
//DrawRectGraph( 0 , i , 0 , i+zure[i] , 640 , 1 , yougan , TRUE , FALSE ) ;//縦揺れ
DrawRectGraph( zure[i] , i , 0 , i+zure[i] , 640 , 1 , yougan , TRUE , FALSE ) ;//縦横揺れ
この三行を入れ替えると横揺れや縦揺れにも出来ます。
ちなみに動画は縦横揺れです。
とりあえず、コレを一番下の背景に使って、岩を多重スクロールで表示させてみようかなーと
思っています^^
こんな感じ↓
動画はカクカクしていますが、実際はスムーズに動いています。画像が切れてしまってますが
テストって事で^^;
プログラムはコチラ↓
http://file.ktstg.blog.shinobi.jp/yougan_raster_scroll.zip
VC++2008EE+DXライブラリ3.06e使用
ラスタースクロールについてはコチラのエントリで書いていますが、画像を任意の大きさに
横割りなり縦割りなりして、三角関数で波を作ってそれに合わせて画像を表示させるって感じです。
プログラム中のyougandraw()関数の中の
//DrawRectGraph( zure[i] , i , 0 , i , 640 , 1 , yougan , TRUE , FALSE ) ;//横揺れ
//DrawRectGraph( 0 , i , 0 , i+zure[i] , 640 , 1 , yougan , TRUE , FALSE ) ;//縦揺れ
DrawRectGraph( zure[i] , i , 0 , i+zure[i] , 640 , 1 , yougan , TRUE , FALSE ) ;//縦横揺れ
この三行を入れ替えると横揺れや縦揺れにも出来ます。
ちなみに動画は縦横揺れです。
とりあえず、コレを一番下の背景に使って、岩を多重スクロールで表示させてみようかなーと
思っています^^
PR
GIMP2を使って溶岩というか炎っぽい?背景を作ってみたので
忘れないように方法を書き留めておきます。
まずはグラデーションパネルの下側の新規作成でグラデーションエディタを開きます。

炎っぽい感じのグラデーションを製作。
グラデーションの製作方法はコチラに書いています。
次にツールボックスのブレンドを選択して、先程製作したグラデーションを選択。
形状を螺旋にします。パラメータは適当に選んで下さい。

画面中央くらいで描画するとこんな感じの画像が出来ます。
クリックする場所や長さを変えれば中心の位置や螺旋の数が変更出来ます。
次にメニューのフィルタ→変形→対話的歪めを選択。

ここでマウスで超適当にグチャグチャと画像を弄り回します。
するとこんな感じの画像が出来ます。


溶岩っぽいか?と言われると違うような気もしますが、自分が作りたかった画像の感じには
近いので良いかなーと。
とりあえず、この画像を使ってラスタースクロールするプログラムを作って見ようかと思ってます。
縦方向にラスターさせれば良い感じになるのではないかと思ってるのですが^^;
忘れないように方法を書き留めておきます。
まずはグラデーションパネルの下側の新規作成でグラデーションエディタを開きます。
炎っぽい感じのグラデーションを製作。
グラデーションの製作方法はコチラに書いています。
次にツールボックスのブレンドを選択して、先程製作したグラデーションを選択。
形状を螺旋にします。パラメータは適当に選んで下さい。
画面中央くらいで描画するとこんな感じの画像が出来ます。
クリックする場所や長さを変えれば中心の位置や螺旋の数が変更出来ます。
次にメニューのフィルタ→変形→対話的歪めを選択。
ここでマウスで超適当にグチャグチャと画像を弄り回します。
するとこんな感じの画像が出来ます。
溶岩っぽいか?と言われると違うような気もしますが、自分が作りたかった画像の感じには
近いので良いかなーと。
とりあえず、この画像を使ってラスタースクロールするプログラムを作って見ようかと思ってます。
縦方向にラスターさせれば良い感じになるのではないかと思ってるのですが^^;
曲を作ろうとしていたのですが、なかなか良い感じのが出来ないので曲制作は置いといて
先に中ボス以降を作って行こうと思いまして、とりあえず溶岩っぽい背景が欲しいと思い
作ってみました。
と言っても自分が作りたかった物が出来た訳ではないのですが、こんな感じのも良いかな?
ってのが偶然出来たので忘れないように製作方法を書いておこうかと。
尚、製作にあたってコチラのレンガ風テクスチャの作り方を参考にさせて頂きました。
まずはGIMP2で製作したい大きさの画像を新規作成します。
次にフィルタ→下塗り→雲→ソリッドノイズを選択

パラメータは適当で良いと思います。
次にフィルタ→芸術的効果→覆布化を選択

パラメータは細かくした方が良い感じになる気がします。
次にフィルタ→芸術的効果→油絵化を選択

これもパラメータは適当で良いです。
次にフィルタ→変形→エンボスを選択

深度は低い方が良いかな?
すると岩肌っぽい画像が出来ます。
とりあえず、コレは置いておいてフィルタ→下塗り→溶岩を選択

パラメータは低めが良さげです。
すると溶岩っぽい画像が出来るのですが、このままだとイマイチ溶岩っぽくないです。
レイヤーパネルで今作った溶岩のレイヤーを選択し、モードをハードライトにします。

すると2つの画像が上手く混ざって溶岩が流れているような感じの背景に^^
後はマップ→シームレス化しておけばスクロールする背景にも使えて便利です。
でも実際に作りたかったのはこんな背景なんですけどね↓

どうやったら、こんな感じになるのかが全然わからないので、片っ端からフィルタを使いまくってる
んですが、全然良い感じにならないんですよねぇ・・・
最終的にはラスタースクロールさせようと思っているので、それほど神経質になる必要はないの
ですが、何か上手い方法はないものかと模索中です^^;
GIMP2で溶岩っぽい背景を作ってみた その2へ
先に中ボス以降を作って行こうと思いまして、とりあえず溶岩っぽい背景が欲しいと思い
作ってみました。
と言っても自分が作りたかった物が出来た訳ではないのですが、こんな感じのも良いかな?
ってのが偶然出来たので忘れないように製作方法を書いておこうかと。
尚、製作にあたってコチラのレンガ風テクスチャの作り方を参考にさせて頂きました。
まずはGIMP2で製作したい大きさの画像を新規作成します。
次にフィルタ→下塗り→雲→ソリッドノイズを選択
パラメータは適当で良いと思います。
次にフィルタ→芸術的効果→覆布化を選択
パラメータは細かくした方が良い感じになる気がします。
次にフィルタ→芸術的効果→油絵化を選択
これもパラメータは適当で良いです。
次にフィルタ→変形→エンボスを選択
深度は低い方が良いかな?
すると岩肌っぽい画像が出来ます。
とりあえず、コレは置いておいてフィルタ→下塗り→溶岩を選択
パラメータは低めが良さげです。
すると溶岩っぽい画像が出来るのですが、このままだとイマイチ溶岩っぽくないです。
レイヤーパネルで今作った溶岩のレイヤーを選択し、モードをハードライトにします。
すると2つの画像が上手く混ざって溶岩が流れているような感じの背景に^^
後はマップ→シームレス化しておけばスクロールする背景にも使えて便利です。
でも実際に作りたかったのはこんな背景なんですけどね↓
どうやったら、こんな感じになるのかが全然わからないので、片っ端からフィルタを使いまくってる
んですが、全然良い感じにならないんですよねぇ・・・
最終的にはラスタースクロールさせようと思っているので、それほど神経質になる必要はないの
ですが、何か上手い方法はないものかと模索中です^^;
GIMP2で溶岩っぽい背景を作ってみた その2へ
前回紹介したソフトを使って効果音を作ってみました。
で、作った効果音をゲーム中で鳴らせるようにしてみた。
こんな感じ↓
とりあえず暫定ですが、効果音が鳴るとグッとゲームっぽくなってくれて、ちょっと嬉しいです^^
DXライブラリで音を鳴らすためには、まずLoadSoundMemでメモリに音を読み込んで
PlaySoundMem関数で鳴らせばOK。
int SHandle ;
SHandle = LoadSoundMem( "test.wav" ) ;
PlaySoundMem( SHandle , DX_PLAYTYPE_NORMAL ) ;
こんな感じで記述するだけで音を鳴らすことが出来るようになります。DXライブラリエライ!
効果音に関しては効果音の元を作っておいてCubaseで読み込んでリバーブやらオクターバーやら
コーラスやらフランジャーやらを使って加工してみました。
例えば↓この効果音の場合は・・・
http://file.ktstg.blog.shinobi.jp/01bakuha00.mp3

こんな感じで4つの音を重ねて、コーラスとリバーブを掛けています。
元の音はこんな感じ↓
http://file.ktstg.blog.shinobi.jp/bakuha000.mp3
http://file.ktstg.blog.shinobi.jp/bakuha01.mp3
http://file.ktstg.blog.shinobi.jp/bakuha04.mp3
http://file.ktstg.blog.shinobi.jp/gyasya-n.mp3
自機レーザー用の音だとコレと↓
http://file.ktstg.blog.shinobi.jp/laser01.mp3
コレ↓を足して・・・
http://file.ktstg.blog.shinobi.jp/laser03.mp3
http://file.ktstg.blog.shinobi.jp/01laserg.mp3
こんな感じ。
と言った感じなのですが、最大の問題は何をどうしたらどんな音になるのか?ってのが全然
解らないんですよね。
色々と弄っているうちに良い感じかな?ってな具合で作っているので、なかなかに大変です^^;
まぁ、もうこの辺は沢山作って行くしか無いのかな?と思ったりしております。
そして効果音を鳴らしてみて気付いたのですが、曲がないとイマイチ合ってるのか合ってないのか
のイメージが掴みにくいなぁと。
なので、先に曲を作って行こうかなーと思っております^^
で、作った効果音をゲーム中で鳴らせるようにしてみた。
こんな感じ↓
とりあえず暫定ですが、効果音が鳴るとグッとゲームっぽくなってくれて、ちょっと嬉しいです^^
DXライブラリで音を鳴らすためには、まずLoadSoundMemでメモリに音を読み込んで
PlaySoundMem関数で鳴らせばOK。
int SHandle ;
SHandle = LoadSoundMem( "test.wav" ) ;
PlaySoundMem( SHandle , DX_PLAYTYPE_NORMAL ) ;
こんな感じで記述するだけで音を鳴らすことが出来るようになります。DXライブラリエライ!
効果音に関しては効果音の元を作っておいてCubaseで読み込んでリバーブやらオクターバーやら
コーラスやらフランジャーやらを使って加工してみました。
例えば↓この効果音の場合は・・・
http://file.ktstg.blog.shinobi.jp/01bakuha00.mp3
こんな感じで4つの音を重ねて、コーラスとリバーブを掛けています。
元の音はこんな感じ↓
http://file.ktstg.blog.shinobi.jp/bakuha000.mp3
http://file.ktstg.blog.shinobi.jp/bakuha01.mp3
http://file.ktstg.blog.shinobi.jp/bakuha04.mp3
http://file.ktstg.blog.shinobi.jp/gyasya-n.mp3
自機レーザー用の音だとコレと↓
http://file.ktstg.blog.shinobi.jp/laser01.mp3
コレ↓を足して・・・
http://file.ktstg.blog.shinobi.jp/laser03.mp3
http://file.ktstg.blog.shinobi.jp/01laserg.mp3
こんな感じ。
と言った感じなのですが、最大の問題は何をどうしたらどんな音になるのか?ってのが全然
解らないんですよね。
色々と弄っているうちに良い感じかな?ってな具合で作っているので、なかなかに大変です^^;
まぁ、もうこの辺は沢山作って行くしか無いのかな?と思ったりしております。
そして効果音を鳴らしてみて気付いたのですが、曲がないとイマイチ合ってるのか合ってないのか
のイメージが掴みにくいなぁと。
なので、先に曲を作って行こうかなーと思っております^^
あけましておめでとうございますm(_ _)m
去年を振り返ると目標としていたゲームを完成させる!ってのは達成出来ていませんね^^;
(プチコンで一本は完成しましたが)
後はシューター部コンピCDに参加させて頂いたのが成果でしょうか。
って事で今年の目標はReflect EDGE for Windowsを完成させる!
と言うことにしておきます。(年々目標が少なくなっている気がします^^;)
ゲーム部分は出来ているので多分大丈夫だとは思うのですが・・・
そして出来る事ならば新作の制作にも着手出来たらなーなどと思っております。
アレコレ妄想はするんですけどねぇ・・・w
と言う感じで今年も宜しく御願い致します!
去年を振り返ると目標としていたゲームを完成させる!ってのは達成出来ていませんね^^;
(プチコンで一本は完成しましたが)
後はシューター部コンピCDに参加させて頂いたのが成果でしょうか。
って事で今年の目標はReflect EDGE for Windowsを完成させる!
と言うことにしておきます。(年々目標が少なくなっている気がします^^;)
ゲーム部分は出来ているので多分大丈夫だとは思うのですが・・・
そして出来る事ならば新作の制作にも着手出来たらなーなどと思っております。
アレコレ妄想はするんですけどねぇ・・・w
と言う感じで今年も宜しく御願い致します!
次のページ
>>
カウンター
ゲーマータグ
カレンダー
リンク
カテゴリー
最新記事
(01/26)
(01/24)
(01/19)
(01/11)
(01/01)
プロフィール
HN:
kt.
HP:
性別:
男性
自己紹介:
STG大好きな37歳。
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事
アクセス解析