トップページgamedev
1001コメント347KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/12/04(金) 16:49:13ID:7SKA4I5z
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

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

【過去スレ】
DXライブラリ 総合スレッド
http://pc11.2ch.net/test/read.cgi/gamedev/1197468399/
DXライブラリ 総合スレッド 2008
http://pc11.2ch.net/test/read.cgi/gamedev/1224923873/
DXライブラリ 総合スレッド その3
http://pc11.2ch.net/test/read.cgi/gamedev/1238429676/
DXライブラリ 総合スレッド その4
http://pc11.2ch.net/test/read.cgi/gamedev/1249822550/
0697名前は開発中のものです。2010/01/27(水) 16:14:13ID:D7qew4lJ
>>696
てめーなに中だよコラ
リファレンスに目を通してから質問しろカス
0698名前は開発中のものです。2010/01/27(水) 16:16:13ID:eQLJYwgf
あのさ↓の意味ちゃんと解って使ってる?

SetDrawBlendMode( DX_BLENDMODE_ALPHA, 128);
LoadGraphScreen( 30, 10, "a.bmp", TRUE);
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0);

1行目で「これから描画するものはアルファブレンドモードにしますよ」
2行目で「a.bmpを読み込んで描画しますよ」
3行目で「これから描画するものはブレンドなしにしますよ」

ってだけだよ?
0699名前は開発中のものです。2010/01/27(水) 16:16:22ID:VlaGcRFB
DrawGraphでもブレンド処理可能みたいですね・・・。
ありがとうございます。
0700名前は開発中のものです。2010/01/27(水) 16:18:42ID:VlaGcRFB
>>697
ヤンデレの人ありがとうございました。
0701名前は開発中のものです。2010/01/27(水) 16:23:54ID:eUrMXCBM
まあ常識的に考えてブレンド処理なんて頻繁に使われるものがDrawGraphで使えないわけないわな
0702名前は開発中のものです。2010/01/27(水) 17:37:50ID:SU7TxAxC
int zeikin[1000000];
int amakudari;

for(amakudari=0;amakudari<1000000;amakudari++){
zeikin[amakudari]=LoadGraph("官僚.bmp");
}

0703名前は開発中のものです。2010/01/27(水) 18:42:02ID:4CYQjQL/
だいたい4MBくらいか。たいしたことないな。
0704名前は開発中のものです。2010/01/29(金) 14:26:55ID:DRAuGFCj
小手先のテクとかはそれなりに分かってきたと思うんだけどゲームの作り方が分からん
うーんバイトでも探して勉強させてもらおうかな。でも使えないバイトとか来たら迷惑かな
0705名前は開発中のものです。2010/01/29(金) 15:45:51ID:yml/58A3
>>704
そもそも採用してもらえないと思うけど・・・
どこまで作れるのか知らないけど解説サイトも本もいっぱいあるし、いくらでも勉強できると思うんだけどなあ。
0706名前は開発中のものです。2010/01/29(金) 16:04:31ID:X4/enaKn
むしろ小手先にテクニックの方が理解は難しいと思うが。

いったいどんなゲームを目指してるんだ。
0707名前は開発中のものです。2010/01/29(金) 17:52:34ID:DRAuGFCj
シューティングで勉強してるけど思うようにいかない
とりあえず自機も敵機も○で表現して
直進する玉を打ったり衝突判定したりとかなら一応できたんだけど
なんか死ぬほど処理が重いし(処理落ちしまくり)、拡張しにくそうだし
機体のパラメータデータとかステージデータの扱い方とかもわからないし
今はちょっとハードルを下げてインベーダーに変えようかなと思ってる
0708名前は開発中のものです。2010/01/29(金) 17:55:43ID:jCVSqiZx
龍神録は見たか?
0709名前は開発中のものです。2010/01/29(金) 18:24:47ID:kJL+rTdA
>>707

どこの部分で処理食ってるか調べるんだ。

「衝突判定」が怪しいから、衝突判定を飛ばしてみて
処理落ちするかどうか確認するとか。
0710名前は開発中のものです。2010/01/29(金) 18:38:06ID:DRAuGFCj
>>708
まだなので、ちょっと読んできますね

>>709
というかボトルネックは衝突判定と玉の生成破棄ぐらいしか思いつかない
モートン順序とかネットで読んだりしたけどなかなか理解と実装までいけないですわ・・・
0711名前は開発中のものです。2010/01/29(金) 18:38:15ID:jCVSqiZx
dxlib使ってる環境で衝突判定による処理落ちはあまり考えられないんじゃないかなあ
俺はloadgraphとか自発的なSleepを疑う
0712名前は開発中のものです。2010/01/29(金) 19:21:22ID:bXBGYPJV
重いのは上司と女のケツ
0713名前は開発中のものです。2010/01/29(金) 19:23:42ID:Pa0ASUM2
足りないのは知識じゃなくて情熱
0714名前は開発中のものです。2010/01/29(金) 20:40:58ID:/bsOILuR
PCのスペックも分からんし、
「死ぬほど重い」がどれくらいなのかも分からない(FPS60で重いと言う人だっている)、
ゲームの内容もさっぱりだしなあ。

それでもプレイ出来ないほど重くなるとは考えにくいんだが。
0715名前は開発中のものです。2010/01/29(金) 20:57:24ID:QBlyvB6i
LoadGraphScreenをしてる、とか?
知り合いがなんか思いって言ってたからソース見たら、毎フレームスクリーンショットを取るという謎な動作してたりした。
ぶっちゃけ、重いってのはなんか変な事してるんだと思うよ。
0716名前は開発中のものです。2010/01/29(金) 21:35:34ID:VeYpTI6t
何が変なことかわかる経験をお持ちでないから仕方が無いことよ
0717名前は開発中のものです。2010/01/29(金) 21:37:02ID:Pa0ASUM2
俺も低スペックPCだと重くなる。
それもFPSがなぜか半分になる。
ウィンドウがノンアクティブでも動作する設定にしてノンアクティブにしたときの動作と似ている。
DXlib特有の何かがあるんだと思う。
0718名前は開発中のものです。2010/01/29(金) 21:38:36ID:QBlyvB6i
ソースっていうかプロジェクトうpったらアドバイス貰えるかもね
ソース晒すの抵抗あるだろうし、個人的にVC++かVSじゃないと困るけど
0719名前は開発中のものです。2010/01/30(土) 00:36:37ID:zzrUYLD6
画像Aの(x, y)に画像Bの(x1, y1, x2, y2)を転送ってできます?
0720名前は開発中のものです。2010/01/30(土) 00:38:24ID:cifYwtzO
うん
0721名前は開発中のものです。2010/01/30(土) 06:43:38ID:P5qgz5J8
>>710
思いつく思いつかないじゃなくて
各セクションごとの消費時間調べて
どこがボトルネックなのか調べるぐらいはすべき
0722名前は開発中のものです。2010/01/30(土) 09:38:05ID:BdSu0ysP
PCのスペックも分からんし、
「死ぬほど重い」がどれくらいなのかも分からない
ゲームの内容もさっぱりだしなあ。
0723名前は開発中のものです。2010/01/30(土) 09:48:06ID:EF522hf9
昔、STGの敵を一体だけ出してテストしてたときに
妙に動きが重いなーと思ったら
300体の敵がピタリ重なって表示されていた
0724名前は開発中のものです。2010/01/30(土) 11:23:55ID:BdSu0ysP
俺もあったなw
0725名前は開発中のものです。2010/01/30(土) 11:50:08ID:mWel1DHT
あるあるw
0726名前は開発中のものです。2010/01/30(土) 12:31:38ID:zzrUYLD6
>>720
すいませんそれは一体どうやればいいんでしょう?
SetDrawScreen(handle);
Draw〜〜
とやってもバグってウィンドウの外に描画されてしまいます
0727名前は開発中のものです。2010/01/30(土) 12:46:37ID:cifYwtzO
>>726
BltSoftImage
0728名前は開発中のものです。2010/01/30(土) 12:49:56ID:zzrUYLD6
SoftImageって遅くないですか?
0729名前は開発中のものです。2010/01/30(土) 12:51:56ID:cifYwtzO
使い方による
0730名前は開発中のものです。2010/01/30(土) 15:02:29ID:zvCh6Jzw
そもそも早さを気にするような関数なのか?
0731名前は開発中のものです。2010/01/30(土) 16:16:41ID:zzrUYLD6
ソフトイメージ使ってみました
これは便利なものですね
しかしCreateGraphFromSoftImageで変換しないとアルファブレンドができないのが難点ですね
0732名前は開発中のものです。2010/01/30(土) 16:23:02ID:cifYwtzO
そもそも変換して使うもん
しないと君の言うとおり非常に表示が遅くなるよ
0733名前は開発中のものです。2010/01/30(土) 17:03:39ID:zzrUYLD6
おや、FillSoftImageがバグってますねこれ
0734名前は開発中のものです。2010/01/30(土) 17:04:55ID:TNYZudKh
ID:zzrUYLD6
(#^ω^)ビキビキ
0735名前は開発中のものです。2010/01/30(土) 17:07:37ID:zzrUYLD6
>>734
なにか?
0736名前は開発中のものです。2010/01/30(土) 17:21:39ID:GX4pyXso
愚痴ならチラシの裏にでも書いとけよ
0737名前は開発中のものです。2010/01/30(土) 18:18:02ID:QgRnLSPg
馬鹿な発言からして*SoftImageの解説を読んで無いな
0738名前は開発中のものです。2010/01/30(土) 19:10:19ID:BdSu0ysP
>>735
関係者なんだろ
0739名前は開発中のものです。2010/01/30(土) 20:21:19ID:UcIFEpC1
ID:zzrUYLD6
(#^ω^)ビキビキ
0740名前は開発中のものです。2010/01/30(土) 20:29:33ID:zzrUYLD6
>>739
言いたいことが有るならハッキリ言ったらどうです
コピーアンドペーストしかできないというわけではないんでしょう?
0741名前は開発中のものです。2010/01/30(土) 21:04:41ID:wCFnb5ju
>>733バグがあるって言うなら、ちゃんと症状を書いて欲しい
ちゃんと検証をしないでバグがあるって言うのは荒らしと同じだよ
0742名前は開発中のものです。2010/01/30(土) 21:10:38ID:cifYwtzO
どう考えてもこいつの仕様把握ミスか使い方間違ってるかだけどな
0743名前は開発中のものです。2010/01/30(土) 21:47:57ID:zzrUYLD6
http://codepad.org/JesphHgh
http://www1.axfc.net/uploader/Img/so/71545

バグだろ
0744名前は開発中のものです。2010/01/30(土) 22:05:12ID:BIjXD56Q
会話で否定から入るタイプ
礼を言わない自分のことばかり
0745名前は開発中のものです。2010/01/30(土) 22:16:56ID:nicWHVwK
こういう奴はなぜか自分が嫌われてることに気づかないんだよなw
0746名前は開発中のものです。2010/01/30(土) 22:22:34ID:dQt5iAcR
もうそのへんにしとこうぜ。
0747名前は開発中のものです。2010/01/30(土) 22:46:17ID:zzrUYLD6
>>743に問題が有るとして、それを指摘できるレベルの人間はここにはいないと言うことでよろしいでしょうか?
もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです
私はそれが社会人としての最低限のマナーだと考えます
0748名前は開発中のものです。2010/01/30(土) 22:55:31ID:cifYwtzO
何かモノを教えてもらった際にはお礼を言いましょう
私はそれが社会人としての最低限のマナーだと考えます
0749名前は開発中のものです。2010/01/30(土) 22:58:58ID:ZFqeJ0u6
そもそも何がしたいのかわからん
0750名前は開発中のものです。2010/01/30(土) 23:02:09ID:dQt5iAcR
>>747
>もし問題がないのなら、私に対していわれのない批判を向けた人たちは謝罪するべきです

俺は静観してただけだから無関係だが、
説明しなければ批判受けてもしょうがなかろう。
0751名前は開発中のものです。2010/01/30(土) 23:11:56ID:m0apTEno
DXライブラリをビルドできる環境が無いのでなんとも言えないが
Ver 3.01 での NS_FillBaseImage関数 (DxBaseImage.cpp の5124行目あたり) で
DWORD の Color が WORD にキャストされているので、ARGBのうち、ARが捨てられている気がする
このキャストをなくせばいいんじゃないかなー
0752名前は開発中のものです。2010/01/30(土) 23:28:01ID:zzrUYLD6
>>751
DWORDに修正してビルドし先のコードで試したところ正常に動くようになりました
丁寧に修正箇所も教えていただいて、どうもありがとうございました!
0753名前は開発中のものです。2010/01/31(日) 06:29:35ID:7H/reV3I
馬鹿ばっかり・・・
0754名前は開発中のものです。2010/01/31(日) 13:54:18ID:HHPX/Q69
>>753
もっと蔑んだ目で言って下さい
0755名前は開発中のものです。2010/01/31(日) 14:32:44ID:CuC3sxxQ
>>754
      | |/ノ二__‐──ァ   ヽニニ二二二ヾ } ,'⌒ヽ
     /⌒!|  =彳o。ト ̄ヽ     '´ !o_シ`ヾ | i/ ヽ ! 
     ! ハ!|  ー─ '  i  !    `'   '' "   ||ヽ l |
0756名前は開発中のものです。2010/01/31(日) 15:25:26ID:JBJvvpkE
>>754
        ',::r、:|  <●>  <●>  !> イ
        |:、`{  `> .::  、      __ノ
       |::∧ヘ  /、__r)\   |:::::|
0757名前は開発中のものです。2010/01/31(日) 17:18:12ID:2P10BkIV
アニメーション作りたかったから
double owari;
do{
DrawGraph(0,0,player[3],TRUE);
DrawGraph(0,0,player[4],TRUE);
DrawGraph(0,0,player[5],TRUE);
DrawGraph(0,0,player[6],TRUE);
owari = FALSE
}while(owari = TRUE);
やったらパソコンが動かなくなったよ!
誰か助けて
0758名前は開発中のものです。2010/01/31(日) 17:22:47ID:JBJvvpkE
owari==true
0759名前は開発中のものです。2010/01/31(日) 17:25:48ID:2P10BkIV
出来ました!!
ありがとうございます
しかし画像が動いてない・・・
0760名前は開発中のものです。2010/01/31(日) 17:43:27ID:PA+3lzr7
そりゃScreenFlip挟んでないからな…
0761名前は開発中のものです。2010/01/31(日) 17:45:11ID:2P10BkIV
画像も動いたし一件落着かと思ったんですが
double owari;
do{
SetDrawScreen( DX_SCREEN_BACK ) ;
ClsDrawScreen() ;
DrawGraph(0,0,player[3],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[4],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[5],TRUE);
ScreenFlip() ;
WaitTimer(500);
ClsDrawScreen() ;
DrawGraph(0,0,player[6],TRUE);
ScreenFlip() ;
WaitTimer(500);
owari = FALSE;
}while(owari == FALSE);
これじゃあゲームが終わりません
誰かアニメーションの書き方を教えてください
0762名前は開発中のものです。2010/01/31(日) 17:52:12ID:PA+3lzr7
ClsDrawScreen();

static int a = 0;
DrawGraph(0,0,player[3+a],TRUE);
if(a<3)a++;

WaitTimer(500);
ScreenFlip() ;
0763名前は開発中のものです。2010/01/31(日) 18:01:12ID:2P10BkIV
ありがとうございます
試してみたんですが、画像が動いてくれません
これはwhileの中に入れて使用するんでしょうか?
0764名前は開発中のものです。2010/01/31(日) 18:13:29ID:c9TXpFDF
コピペするだけじゃなくて、その命令の意味をよく考えてみよう。
0765名前は開発中のものです。2010/01/31(日) 18:16:33ID:JBJvvpkE
とりあえず龍神録読んで来い
0766名前は開発中のものです。2010/01/31(日) 18:29:11ID:W0mdJ7eW
それ以前にリファレンスを嫁
あんだけわかりやすいのがあるんだから・・・
0767名前は開発中のものです。2010/01/31(日) 18:31:18ID:HHPX/Q69
基本的な考えを理解してないな。
例えば絵が1ドットずつ動くプログラムだとすると

  座標0に表示
    ↓
  座標1に表示
    ↓
  座標2に表示
    ↓
  座標3に表示
    ↓
     :

って書くんじゃなくて(これは>761の書き方)、

  座標xに表示 ←―┐
    ↓        |
  xを+1する      | 繰り返す
    ↓        |
    └―――――┘

って書くのを意識するといいよ
0768名前は開発中のものです。2010/01/31(日) 18:35:18ID:1VFB3DYv
かわいいなw
0769名前は開発中のものです。2010/01/31(日) 19:00:00ID:2P10BkIV
double owari;
do{
ClsDrawScreen();
static int a = 0;
DrawGraph(0,0,player[3+a],TRUE);
if(a<3)a++;

WaitTimer(500);
ScreenFlip() ;
owari = FALSE;
}while(owari == FALSE);
こうやってみました
aが0に戻らなくて[6]がずっと表示されてしまいます
あと、できればdo{}while();は使いたくないです

0770名前は開発中のものです。2010/01/31(日) 19:07:41ID:dC7YcGqj
static intがまずいんじゃなか?
0771名前は開発中のものです。2010/01/31(日) 19:10:47ID:PA+3lzr7
>>769
>aが0に戻らなくて[6]がずっと表示されてしまいます
わかってんならaを0に戻せよ…
whileでもforでも好きなもんを使えよ…
>>764-767無視すんなよ…
0772名前は開発中のものです。2010/01/31(日) 19:13:09ID:CfyGLtto
まずはC言語勉強してこい
0773名前は開発中のものです。2010/01/31(日) 19:23:57ID:2P10BkIV
>>771
すいませんでした
if(a>3)a=0;を追加したんですが止まってしまいます
>>764
考えて>>769をつくってみました!
>>765
そのサイト、アニメーションについて載ってなくて…
>>766
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
このページでしょうか?
何回か読んだのですがアニメーションについて載ってなかったです…
>>767
座標を動かさないようにするんですか?
>>768
ありがとうございます
>>770
消してみたんですが、動きすらしなくなりました

0774名前は開発中のものです。2010/01/31(日) 19:32:13ID:JBJvvpkE
アニメーションでなく根本的な所から理解出来てない
龍神録一通りやってゲームプログラミングの基礎を学べ
0775名前は開発中のものです。2010/01/31(日) 19:36:09ID:2P10BkIV
すいませんでした
まだ自分はなにも理解していないみたいなので
もう一度最初から学び直してきます
みなさんありがとうございました
0776名前は開発中のものです。2010/01/31(日) 19:36:15ID:PA+3lzr7
>>773
もうDXライブラリ以前の問題だからVIPで聞け
http://yutori7.2ch.net/test/read.cgi/news4vip/1264908880/
0777名前は開発中のものです。2010/01/31(日) 19:36:48ID:GeAXL5Qw
a=3になってるから
0778名前は開発中のものです。2010/01/31(日) 19:37:45ID:Di+guFUQ
>>770
>>772

>>773
if(a<3)a++;
if(a>3)a=0;

こうしたんなら a=3 の場合はどっちも掛からないから a=3 のまま止まるわなあ
0779名前は開発中のものです。2010/01/31(日) 19:43:39ID:2P10BkIV
>>777
>>778
if(a>=3)A=0;
にしたらきちんと動いてくれました!
でも学び直してきます
ありがとうございました
>>776
ありがとうございます
次からはそこで質問しますね
0780名前は開発中のものです。2010/01/31(日) 19:44:26ID:2P10BkIV
うそです
Aじゃなくてaです
0781名前は開発中のものです。2010/01/31(日) 20:01:10ID:uYVfFOYk
このライブラリって64bit windowsでも
問題なく動くの?
0782名前は開発中のものです。2010/01/31(日) 20:09:34ID:CfyGLtto
動かないんじゃね?
ライブラリをDLLにすれば動くかも
0783名前は開発中のものです。2010/01/31(日) 20:09:49ID:0ATLaas4
なんで?
0784名前は開発中のものです。2010/01/31(日) 22:57:51ID:W0mdJ7eW
普通に動くよw
ネイティブでって意味ならたぶん動かないけど、そういう事じゃないだろ?
0785名前は開発中のものです。2010/01/31(日) 23:29:30ID:CfyGLtto
ゲームが実行出来るかじゃなくて
正常にビルド出来るかって意味かと思った
つーかそれだとDLLでも動かないねすまん
0786名前は開発中のものです。2010/02/01(月) 00:07:00ID:2kqPhNjN
ビルドもVSとか使ってるなら通るはずだよ
俺この間までWin7の64bitと、XPの32bitで出先<->家での開発してたし
0787名前は開発中のものです。2010/02/01(月) 01:01:10ID:YQ/gjtQh
本体のビット数とDLLのビット数が違うとダメだけどね。


DXライブラリでもゲーム制作の話でもないけど
この間それで問題が起きてね……w
0788名前は開発中のものです。2010/02/01(月) 16:57:45ID:Lf2Nvhz5
なんで?
0789名前は開発中のものです。2010/02/01(月) 17:45:18ID:ooYrGYNe
なんだっていいさ
0790名前は開発中のものです。2010/02/01(月) 18:32:39ID:864q13BL
long doubleとか使って試せば
787かいいたいことがわかるとおもう
たぶん
0791名前は開発中のものです。2010/02/01(月) 18:36:19ID:PxBHY40/
いや、32bitアプリからは64bitDLLは使えないし
64bitアプリからは32bitDLLは使えない。
だから通常、DLLまで用意する場合じゃ無けりゃ32bitで作ればいいんだけど
.NET FrameworkでAny CPUで作った場合はまることがある。
DLLはネイティブで32bit固定なのに、EXEは実行環境によって32/64変わるから
開発時の環境が32bitだと気がつかない。

ということじゃないかなあ。
0792名前は開発中のものです。2010/02/01(月) 18:52:33ID:Lf2Nvhz5
それで?
0793名前は開発中のものです。2010/02/01(月) 18:58:44ID:xufADCF/
ググレカス
0794名前は開発中のものです。2010/02/02(火) 13:39:47ID:EWwGB+Nl
libを32bitで作って64bitマシンでコンパイルしたオブジェクトとリンクしても問題ないの?
0795名前は開発中のものです。2010/02/02(火) 13:53:12ID:ZXzo3Aq8
なんで?
0796名前は開発中のものです。2010/02/02(火) 13:54:59ID:6T1hs+2r
ビルド時のターゲットはビルド環境とは関係ない
■ このスレッドは過去ログ倉庫に格納されています