忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

なんとなくテクノっぽい曲が作ってみたいな~と思いサマーカーニバル'92 烈火のボス曲
をコピーしてみました。
ダウンロードはコチラ↓
サマーカーニバル'92 烈火のボス曲(CRISIS)(右クリック→対象をファイルに保存で保存しないと聴けないかも)

この曲、せまりくる感じがかっこよくてとても好きなんですよね~。
ゲーム自体はプレイした事ありませんが^^;
この曲の原曲にはオーケストラヒットが使われているのですが、オーケストラヒットが出せるVST
ないかな~と思って探したらありました^^
Acquit Music HITxxv1と言うVSTで色んなオケヒの音が出せます。
s-hitxx.jpg
公式のHPはなくなってるみたいだったのですが「HITxxv1.zip」でググッたらダウンロード
出来るサイトが見つかりました^^

他の使用VSTは
メロディはM1 LeとProteus VX
1228581792.jpg

1222098537.jpg

アルペジオにはTranscender 2
1222330515.jpg

ベースはTN-303
1222330509.jpg

ドラムはTR-909
1222330512.jpg

と言った感じです。
ついでに原曲のファミコンバージョンはコチラで聴けます↓


今回作製したCRISISは35:11から聴けます。
ファミコン音源でここまで鳴らせるか!と唸るほどのカッコよさなので
8bit音楽が好きな人は必聴ですよ!
PR

先日、やっとの事でファイルの分割は出来たのですが、変数や関数の宣言を2度書かねばならず
不便でした。
ですが、C言語何でも質問サイトさんの龍神録プログラミングの館で便利な方法が紹介されて
いました。
具体的な方法は上記のサイトに書かれていますが、簡単に書くとヘッダファイルで
#ifdef _GLOBAL_INSTANCE_
#define GLOBAL
#else
#define GLOBAL extern
#endif
と宣言しておいて、さらに
GLOBAL int a;
GLOBAL void func1(void);
と宣言し、仮にGV.hという名前でヘッダファイルとして保存したとします。

で、main.cppでは(と言うか普通に宣言したいファイルの時)
#define _GLOBAL_INSTANCE_
#include "GV.h"
と宣言すれば、extern宣言せずに変数や関数の宣言をしてくれます。

そして、extern宣言したいファイルでは
#define _GLOBAL_INSTANCE_ は宣言せずに
#include "GV.h"を読み込めば、extern宣言して変数や関数を読み込んでくれます。

こうすれば"GV.h"に変数や関数を追加するだけでOKになるので便利です^^
こんな感じでファイルを追加してみました↓
bunsatu.jpg
それにしても、こんな方法を自分で考えるのは無理ってもんです。今回のファイル分割にしても
C言語何でも質問サイトさんの記事を丸写ししたような物ですし・・・
ホント最初にこういう事を考える人は凄いなぁと感心しますね^^

先日からファイルの分割をしようとしていたのですが、何とか上手く動くようになりました^^
とりあえずこんな感じで分割してみました↓
task.jpg
処理毎にファイルを分割しています。
分割時のポイントとしては、そのファイルから変数や関数が見えているのか?ってのがポイントで
変数の場合は、例えばmain.cppで「int a」と宣言した場合は、tama.cppでその変数を使いたい場合
「extern int a」と書く必要があります。

関数の場合は、tama.cpp内で「void func1(void)」と言う関数を作って、main.cpp内で動かしたい
場合は、main.cpp内で「void func1(void);」とプロトタイプ宣言を行う必要があります。
ついでにプロトタイプ宣言の時は文の最後に;が必要です。
また、tama.cpp内で別の関数が使いたい場合は、tama.cpp内でプロトタイプ宣言をすればOK。

まだ何か間違ってるかもしれませんが、とりあえずコレで上手く動いているようなので
良しとしています。
ただ、これでもちゃんと動くのですが、同じ事を2回書かなければならないのは面倒なので
ヘッダファイルなんかに一度書くだけで良いようにしたいのですが、そうしようとすると
これまた上手く動かなくて色々と試してます^^;
先日からやっているファイルの分割が上手くいかないので気分転換にMD用STGの
ウィップラッシュのステージ1の曲をコピってみました。
なんでウィップラッシュやねん!って言われそうですが、この曲疾走感があって
大好きなんですよね~(勢いのみって気もしますが^^;)
ダウンロードはコチラ↓
ウィップラッシュのステージ1の曲(右クリック→対象をファイルに保存で保存しないと聴けないかも)

所々耳コピがおかしい気もしますが気にしないで下さい(汗)
後半のギターソロに以前紹介したサウンドフォントのギターを使ってみたのですが
なかなか良い感じに出来たのではないかと自分では思っています^^

この曲の使用VSTは
メインメロとサブメロはM1 Le
1228581792.jpg

サブメロにはSynth1
1228581791.jpg

ベースはVOPM
1228581789.jpg

ギターとドラムはPaax2でサウンドフォントを鳴らしています。
1228716252.jpg

ちなみに原曲はこちらの動画から聴けます↓
http://vision.ameba.jp/watch.do?movie=57969
このゲーム、STGとしてはB級ですが(私は結構好きなんですが)音楽はとっても
カッコイイのでオススメです。といってもプレイ出来る環境がない人が殆どだと思いますが^^;

それにしてもギターのVSTはなかなか良い音が鳴らなくて難しいです。
特にミュートギターが上手く出来なくて、なんか不自然な音になってしまうんですよね。
やっぱりちゃんとしたVSTを購入しないといけないのかな~と思いつつ
何とかフリーでないものかと色々と探しています。
先日作った自機移動プログラムのファイルを分割して読み込み出来るようにしようと思って
コチラコチラを参考に色々と試しているのですが、エラー出まくりで全然動きませんorz

やろうとしているのは、自機移動処理や敵移動処理等のコードを別々のファイルに分割して
記述して読み込ませようとしているのですが、変数の宣言がされていないとか、2重で宣言している
とかのエラーが出て上手く動いてくれないんですよね。
extern宣言の記述がおかしいと思うのですが、何がどう悪いのかがわからないので
もうちょっとextern宣言について勉強してみようかと思っています。

ちゅうか、どうのように分割するのが良いか?ってのも考え物で
自機移動処理といっても、変数の宣言や移動用の関数、入力判別の関数などなど、色んな処理が
あります。
それを纏めて自機移動処理としてファイルに書き出して分割するのか
それとも、自機、敵、弾、等の変数の宣言ファイル、移動処理のファイル、などのように
処理毎にファイルに分割した方が良いか?
どっちが見やすいかな~と思っているのですが、こればっかりは実際に作ってみないと
何とも言えないんですよね・・・悩みは尽きません^^;

以下覚え書き
#include <ファイル名>は標準ファイルからファイルを探す。
#include "ファイル名"は作製したディレクトリからファイルを探した後標準ファイルから探す。
何度も同じ宣言をする場合はヘッダファイルを使うと便利。
無駄なヘッダファイルの読み込みはコンパイルが重くなるので、良く考えて。
extern宣言は宣言が別のファイルで行われている事を示す。
Twitter
カレンダー
07 2026/08 09
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]