[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 04/05 19:46 / Filesize : 18 KB / Number-of Response : 40
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DXライブラリ 総合スレッド その15



1 名前:名前は開発中のものです。 mailto:sage [2013/04/02(火) 19:54:26.12 ID:7ScEAe8S]
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
homepage2.nifty.com/natupaji/DxLib/

【前スレ】
DXライブラリ 総合スレッド その14
toro.2ch.net/test/read.cgi/gamedev/1350618178/


【過去スレ】
01 pc11.2ch.net/test/read.cgi/gamedev/1197468399/
02 pc11.2ch.net/test/read.cgi/gamedev/1224923873/
03 pc11.2ch.net/test/read.cgi/gamedev/1238429676/
04 pc11.2ch.net/test/read.cgi/gamedev/1249822550/
05 pc11.2ch.net/test/read.cgi/gamedev/1259912953/
06 hibari.2ch.net/test/read.cgi/gamedev/1267108154/
07 hibari.2ch.net/test/read.cgi/gamedev/1286180687/
08 hibari.2ch.net/test/read.cgi/gamedev/1301818631/
09 hibari.2ch.net/test/read.cgi/gamedev/1310904069/
10 hibari.2ch.net/test/read.cgi/gamedev/1313655495/
11 toro.2ch.net/test/read.cgi/gamedev/1322844235/
12 toro.2ch.net/test/read.cgi/gamedev/1330000532/
13 toro.2ch.net/test/read.cgi/gamedev/1339368894/

【関連スレ】
C/C++ゲーム製作総合スレッド Part1
toro.2ch.net/test/read.cgi/gamedev/1337516528/

28 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 16:01:22.20 ID:j/RBp3Ih]
int a =0; が関数内でローカル変数として定義されていると
毎回初期化されてしまうな。

29 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 16:08:38.77 ID:cvGYmrrr]
>>4
>プログラムソースに問題も無いと、確認出来たわけです。

俺もたまにやるけど、ヒューマンエラーが一番怖い。
「自分は正しい、間違っているわけがない、他に原因があるはず」
しかしそれが間違いを生んでいる主な原因だったりする。
これは現実世界でも多々ある事。
例えば最近問題になっている歴史問題。記録はどの国家も例外無く正確ではない、捏造が多々含まれている。
更に化学においても、「人体に影響は無い」というのは全て嘘だ。体に良いものですら、良い影響と悪い影響がある。ここから「体に良いもののほうが体に悪い」という論理的な矛盾が生まれる。
何が言いたいかというと

っていう妄想でした

30 名前: mailto:sage [2013/04/05(金) 16:09:31.12 ID:akoAyRai]
>>25 >>28
あくまで例として書いてしまったがために
突っ込み所満載ですみません。
お二人のご指摘は本来自分で書いてるプログラムではバッチリなはずです。
変数aについては突っ込まれるかなと思ったんですが
例のつもりだったので強行して書き込んでしまいました。

しかし、皆さんが親身になってくださるので
ソースをさらしてみたいと思います。
どうか、原因を突き止めて頂きたいです。
しばし、お待ちを。

31 名前: mailto:sage [2013/04/05(金) 16:10:28.50 ID:akoAyRai]
>>29
その通りですね、なので晒してみますので
ご確認して頂きたいです。しばしおまちを。

32 名前: mailto:sage [2013/04/05(金) 16:45:50.42 ID:hmFS+1t8]
すみません、行数があり、書き込みできませんでしたのでソースを書いたTXTをうpします。
あと、実際に鳴らしているsceneクラスは継承+ポリモフィズムを使っており、
余計なものまで解説せねばならないことになりますのでその辺は割愛させて頂きました。
ux.getuploader.com/zipcodezipcode/download/40/DX%E3%82%B9%E3%83%AC.ZIP

出来たら、このサウンドクラスを使って、二つのBGMを切り替えるプログラムを作ってみてください。
そちらでうまく出来たら、私の実行のさせ方が間違っているということですね。。

33 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 17:58:12.04 ID:CEwZ/NG5]
mp3のサイズがでかすぎてメモリに読み切れてないとかじゃないよね
いっぺんSetCreateSoundDataTypeで再生形式切り替えてみたらええんでない

34 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 18:00:16.17 ID:bPNmD62Y]
SoundBox* sound;
sound->getInstance()->loadFiles();
while( 1 ){
  if( ProcessMessage() != 0 ){ // メッセージ処理
    break;//ウィンドウの×ボタンが押されたらループを抜ける
  }
  ClearDrawScreen(); // 画面を消す
  if( CheckHitKey( KEY_INPUT_UP ) ){
    sound->getInstance()->playbgm( 0 );
  }
  if( CheckHitKey( KEY_INPUT_DOWN ) ){
    sound->getInstance()->playbgm( 1 );
  }
  ScreenFlip(); //裏画面を表画面に反映
}

これで実行してみたが問題はなかった。

35 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 18:10:03.77 ID:bPNmD62Y]
更新関数

SoundBox::getInstance()->playbgm(1);//Abgmスタート

if(*****){
a=1;
}

if(a=1){
SoundBox::getInstance()->playbgm(2);//Bbgmスタート


のところなんだが

更新関数

a=-1;
if(*****){
a=0;
}else if(-----){
a=1;
}

if(a=0){
SoundBox::getInstance()->playbgm(0);//Abgmスタート
}else if(a=1){
SoundBox::getInstance()->playbgm(1);//Bbgmスタート
}

普通こんな感じじゃない。

36 名前: mailto:sage [2013/04/05(金) 18:17:50.69 ID:hmFS+1t8]
>>33
それがデカくないんですよ、Aは205KB、Bは180KBです。

>>34>>35
うまく流すことが出来たわけですね??
ちょっと>>34を使わせてもらい、試してみます!



37 名前: mailto:sage [2013/04/05(金) 18:28:45.68 ID:hmFS+1t8]
皆さんにも体験してもらうソースがわかりました!!
3つのBGMを読み込ませ、>>34に付け足した感じですが


while( 1 ){
  if( ProcessMessage() != 0 ){ // メッセージ処理
    break;//ウィンドウの×ボタンが押されたらループを抜ける
  }

    SoundBox::getInstance()->playbgm(0);

if( CheckHitKey( KEY_INPUT_UP ) ){
SoundBox::getInstance()->playbgm(1);
}
if( CheckHitKey( KEY_INPUT_DOWN ) ){
SoundBox::getInstance()->playbgm(3);
}
  }
  ScreenFlip(); //裏画面を表画面に反映
}


これで実行してみてください!
要は、最初に別のBGMを流していて、
その上で、「上」か「下」かで二つのBGMを切り替えて鳴らしてください

これで、同じ現象がおきるはずです!

38 名前: mailto:sage [2013/04/05(金) 18:30:36.95 ID:hmFS+1t8]
誤字です。
BGMを3つ読み込ませといてください。

while( 1 ){
  if( ProcessMessage() != 0 ){ // メッセージ処理
    break;//ウィンドウの×ボタンが押されたらループを抜ける
  }

    SoundBox::getInstance()->playbgm(0); //1曲目

if( CheckHitKey( KEY_INPUT_UP ) ){
SoundBox::getInstance()->playbgm(1); //2曲目
}
if( CheckHitKey( KEY_INPUT_DOWN ) ){
SoundBox::getInstance()->playbgm(2); //3曲目
}
  }
  ScreenFlip(); //裏画面を表画面に反映
}

39 名前:名前は開発中のものです。 mailto:sage [2013/04/05(金) 19:41:33.84 ID:rssi5Jdr]
あん?
それだと、キーを例えば下にすると
まず一曲目を流そうとして、
次に三曲目を流そうとして
また次のループで一曲目を流そうとして、
さらに三曲目を流そうとしたりするんじゃ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<18KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef