DXライブラリ 総合スレッド その8
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2011/04/03(日) 17:17:11.99ID:liTmPO3jGUIのゲームを比較的容易に作成する事を可能にする、
「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/
DXライブラリ 総合スレッド その5
http://pc11.2ch.net/test/read.cgi/gamedev/1259912953/
DXライブラリ 総合スレッド その6
http://hibari.2ch.net/test/read.cgi/gamedev/1267108154/
DXライブラリ 総合スレッド その7
http://hibari.2ch.net/test/read.cgi/gamedev/1286180687/
0002名前は開発中のものです。
2011/04/03(日) 17:45:11.04ID:aEoUOWen0003名前は開発中のものです。
2011/04/03(日) 19:25:34.16ID:AodKWX3t例えば、真ん中に点を打つだけのプログラム
とかを作成したいのですが
ソースコードをどのようにいじれば良いでしょうか?
0004名前は開発中のものです。
2011/04/03(日) 21:24:46.12ID:AodKWX3t0005名前は開発中のものです。
2011/04/04(月) 02:53:30.39ID:27WTTC5Zスレ立てられなかったからどうしようかと
>>1 乙!
0006名前は開発中のものです。
2011/04/04(月) 13:56:43.96ID:G92pIitx0007名前は開発中のものです。
2011/04/04(月) 14:46:10.56ID:lkmdMkYPコンパイラ別にするのは面倒だし。
ライブラリのアップデートに対応できないし。
0008名前は開発中のものです。
2011/04/04(月) 14:58:40.04ID:XwqulUWi0009名前は開発中のものです。
2011/04/04(月) 15:19:02.79ID:72a4O5pd0010名前は開発中のものです。
2011/04/04(月) 15:33:30.37ID:qA+xtM5Uまぁ必要なものは自分で作ればいいんだけど
0011名前は開発中のものです。
2011/04/04(月) 15:34:43.59ID:lkmdMkYPwindowsが上手いことやって。
0012名前は開発中のものです。
2011/04/04(月) 15:36:46.12ID:lkmdMkYPあれはほとんどDLLのみの配布だ。
バージョンアップされも、自作ゲーム・アプリの更新はいらない。
0013名前は開発中のものです。
2011/04/04(月) 16:29:59.69ID:27WTTC5Z仕様が100%確定でない以上、ゲームとその周辺のバージョンの管理は作者がやらないといけない
例えば、ライブラリ側で生成される乱数が変更されたら、本体のバージョンは変わらないままリプレイが再生できなくなったりする
0014名前は開発中のものです。
2011/04/04(月) 17:52:44.68ID:+4VnZw9Sそのためのオープンソースだろ?
0015名前は開発中のものです。
2011/04/04(月) 22:07:06.65ID:oUYUst2Fたぶん、DLLなら「DXライブラリがアップデートする度にビルドして配布」っていう手間がなくなるよ
って言いたいんだと思うけど、俺は逆だと思う。
DLLがアップデートされたら、配布中のゲームの挙動が変わったりして結構うざいと思うよ。
埋め込んでおけば、少なくとも挙動が変わる事がないからDLLが出る度に対応作業をしなくていい。
極端なことを言うと、新しいDLLが出る度に自作ゲームのテストをやり直さないといけない。
だから、開発者側でライブラリのバージョンをコントロールできないって結構大変だと思う。
統合アーカイバーの場合は
DLL→解凍処理そのもの
アプリ→DLLへのGUIを提供
というようにお互いに独立性が高い(特定のDLLやアプリである必要がない)。だから成り立っている。
0016名前は開発中のものです。
2011/04/04(月) 23:52:45.21ID:+ZQ2N5lU統合アーカイバプロジェクトでDLL形式が使われてるのは
DLLを追加することでプラグイン的にソフトの対応フォーマットを
拡張できるようにするためだと思うの。
そういう意味では、対比としてその例を出すのは
あんまり適切じゃないと思うの。
あと、他の有名なゲーム用ライブラリであるLunaとかも
LIB形式配布だった気がするけど。
ってか君、前スレでも同じ事言ってなかった?
0017名前は開発中のものです。
2011/04/05(火) 01:08:55.04ID:leWQ4Q6VDLL形式で再配布してるところ無かったか。
0018名前は開発中のものです。
2011/04/05(火) 01:47:10.74ID:azkSsqOb0019名前は開発中のものです。
2011/04/05(火) 02:13:59.62ID:n6/xNVW9実質ゲーム遊ぶ人の視点で考えると
「わざわざDLLも入れないといけないの?
ちょっと遊びたいだけなのに、面倒だからいらね」
となる危惧はあるなあ…
0020名前は開発中のものです。
2011/04/05(火) 03:07:44.02ID:8+yljQiv0021名前は開発中のものです。
2011/04/05(火) 11:21:42.45ID:leWQ4Q6Vかと言ってゲームと一緒にDLLも配布すると、せっかくのDLL形式の利点の1つが無くなるしな。
0022名前は開発中のものです。
2011/04/05(火) 11:30:08.28ID:azkSsqObそもそもDLLのバージョンが違ったら動かないなんてザラだしユーザ側のDLLインストールとかに頼っちゃ駄目だろこの場合は
0023名前は開発中のものです。
2011/04/05(火) 19:17:21.07ID:JYrZmSQ6DXライブラリを使ったソフトが世間に大量にあるわけでも
DXライブラリが数十MBの巨大ライブラリってわけでも無いのに。
DXライブラリに対する利点がほとんど無いよ。無用にユーザの環境を汚すだけ。
0024名前は開発中のものです。
2011/04/05(火) 19:31:00.32ID:iwB7WDbQ0025名前は開発中のものです。
2011/04/05(火) 20:58:30.77ID:rodxN/HH0026名前は開発中のものです。
2011/04/05(火) 21:44:01.31ID:hp+X5XW0二重に加算したらすごくよくなった。
どうやら画像を拡大するときの補完の影響で、エフェクトが全体的に暗くなっていたらしい
0027名前は開発中のものです。
2011/04/05(火) 22:28:10.65ID:leWQ4Q6V極端に古いマシンではないはずだけど、動画キャプったときにカクついた。
0028名前は開発中のものです。
2011/04/06(水) 15:56:44.88ID:BH+QSZ/Uそれを明るさ二倍にした画像を用意しといた方が軽いと思う
色飽和させたいなら別だけど
0029名前は開発中のものです。
2011/04/06(水) 19:00:44.88ID:v6FetV3w0030名前は開発中のものです。
2011/04/06(水) 20:24:44.37ID:QYbzkIKnpublic:
const int handle;
int x,y,width,height;
//..
Picture(char* filename):handle(LoadGraph(filename)), //..
draw(){DrawGraph(x,y,handle,TRUE);}
};
ってしたいんだが仕様のせいか描いてくれない
何か解決法ない?
0031名前は開発中のものです。
2011/04/06(水) 21:12:08.23ID:LBQsvXTZ0032名前は開発中のものです。
2011/04/06(水) 21:17:42.57ID:gWmiebMDhttp://www.dotup.org/uploda/www.dotup.org1503491.zip.html
0033名前は開発中のものです。
2011/04/06(水) 21:26:12.85ID:QYbzkIKnusing namespace std;
class Picture{
public:
const int handle;
int x,y,width,height;
Picture(char* filename):handle(LoadGraph(filename)),x(0),y(0)){
GetGraphSize(handle,&width,&height);
}
draw(){DrawGraph(x,y,handle,TRUE);}
};
0034名前は開発中のものです。
2011/04/06(水) 21:27:15.55ID:QYbzkIKnHINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DxLib_Init();
Picture p;
p.draw();
DxLib_End();
return 0;
}
こんなカンジです
0035名前は開発中のものです。
2011/04/06(水) 21:31:09.44ID:LBQsvXTZ0036名前は開発中のものです。
2011/04/06(水) 21:38:43.97ID:QYbzkIKnPicture p("test.png");
だ
0037名前は開発中のものです。
2011/04/06(水) 22:11:03.02ID:gWmiebMDもう一度クラスの使い方について勉強しなおしてください
0038名前は開発中のものです。
2011/04/06(水) 22:15:24.70ID:N60iyAe0実際のコードを貼付けた方が確実。
このコードを基準に指摘するなら、
・ハンドル格納先がconst intだから
・描画後に即DxLib_Endしてるから画面が見えてない
0039名前は開発中のものです。
2011/04/06(水) 22:55:38.57ID:QYbzkIKnご指摘ありがとうございました
0040名前は開発中のものです。
2011/04/07(木) 01:13:24.25ID:SEAR+BO10042名前は開発中のものです。
2011/04/07(木) 08:58:26.68ID:Q06cpueU0043名前は開発中のものです。
2011/04/07(木) 12:09:47.44ID:/k8r31Riどうやらクラスにstringやコンテナがあるとクラスをシリアライズしないといけないらしく、
boostのシリアライズと組み合わせて何とかできないかとがんばっているのですがどうしてもうまくいかないのです・・・
どなたか同じようなことをやっている人はいらっしゃいませんか?
送信側
Clarss A
std::ostringstream test;
boost::archive::binary_oarchive sou(test);
sou << (const Class&) A
std::string aaaa =test.str();;
char* s = new char[aaaa.length() + 1 ];
strcpy( s, aaaa.c_str() );
NetWorkSend( NetHandle , &s, sizeof(&s) ) ;
受信側
〜(DXライブラリの通信サンプル)
if( DataLength != 0 ) break ;
}
Class B;
char a[255];
NetWorkRecv( NetHandle , a , DataLength ) ;
istringstream is(a);
boost::archive::binary_iarchive jyu(is); ←ここで領域外エラー
jyu >> B;
0044名前は開発中のものです。
2011/04/08(金) 08:12:38.14ID:OZlsiZIxLIBはvs2008、vs2010の差でも動かない。
ヘッダファイルで動的にDLLの関数を読み込めば、Windowsのほぼすべてのコンパイラで統一して動作する。
LIBとDLLを両方配布して、機能差に違いが無いようにしてほしいです。
0045名前は開発中のものです。
2011/04/08(金) 09:12:48.77ID:1Q+gaT6Kいいことないぞ
0046名前は開発中のものです。
2011/04/08(金) 10:04:05.98ID:ugdlzprS0047名前は開発中のものです。
2011/04/08(金) 11:39:41.89ID:s8IM5VZ3だから、ビルド時にスタティックリンクして、完結するようにしてるんじゃないのか。
大体、なんで作者が興味ない環境までサポートしてやる必要があるんだよ。
単なる自分勝手な欲求を、多数の利益みたいに言ってるんじゃねえ。
0048名前は開発中のものです。
2011/04/08(金) 12:25:54.70ID:Qp/vxYBHすでに廃れてるしな
VC以外でどんな環境で使うの?
0049名前は開発中のものです。
2011/04/08(金) 12:55:29.12ID:lVB4evdpboostってのをしらんが
> char* s = new char[aaaa.length() + 1 ];
> strcpy( s, aaaa.c_str() );
> NetWorkSend( NetHandle , &s, sizeof(?
&sの時点でまちがってね?
0050名前は開発中のものです。
2011/04/08(金) 19:43:19.44ID:OZlsiZIxあと関数の動作はボージョンアップがあっても、インターフェースは固定されてた方がいいって事。
0051名前は開発中のものです。
2011/04/08(金) 19:45:21.53ID:RwixZFmm0052名前は開発中のものです。
2011/04/08(金) 20:24:54.58ID:8YPSm7Pn自分の希望をたらたら述べるんだもんな
こういう奴はマジで害だわ
0053名前は開発中のものです。
2011/04/08(金) 21:10:43.46ID:HKyrZUew客観的に見れば要らないって言ってるやつらもただの保守厨
他のライブラリを見ても動的静的バイナリを両方配布するのは別に普通のことだし
初心者にとって無用な選択をさせたくないってのはわかるけど推奨と強制は違う
0054名前は開発中のものです。
2011/04/08(金) 21:17:32.96ID:u10SZqXe自力でできない初心者の面倒みることになっちゃうだろ
今の状態でも出来る人は簡単に出来る。このくらいで丁度いいんだよ
0055名前は開発中のものです。
2011/04/08(金) 21:21:44.00ID:NctlQpgyDLLにこだわるのならソースコード公開されてるし自分でビルドしてみるという手もあるよ
ついでにlibjpegとかzlibもdllで扱うようにすれば省メモリ性も上がるかもよ
0056名前は開発中のものです。
2011/04/09(土) 11:27:37.50ID:VyRueek8欲しいなら作者に強請らず自分でやればいい
0057名前は開発中のものです。
2011/04/09(土) 11:37:31.82ID:9uX2BnsMローカルで、独自に開発を進めても、広く使われるようにならない。
0058名前は開発中のものです。
2011/04/09(土) 11:45:20.83ID:c9oV/KMWMicrosoftのDirectXとかならまだしも、なんかものすごい勘違いをしているように思う。
それともゲーム本体のパッケージにはDLLを同封しないで
作者サイトでDLLをダウンロードしてね?ってスタンス?
ゲームのパッケージにすべて同封させるならダイナミックライブラリだろうとスタティックリンクだろうと変わらないと思うけど。
0059名前は開発中のものです。
2011/04/09(土) 11:49:39.00ID:c9oV/KMW言葉足らずだった。
作者サイトとはDXライブラリの作者さんのサイトね
0060名前は開発中のものです。
2011/04/09(土) 11:58:42.24ID:cSx1Yczo需要がないものを実装しても広く使われるようにはならんよ
0061名前は開発中のものです。
2011/04/09(土) 12:03:40.08ID:c9oV/KMWそれからDXライブラリをDLL化することで何についての汎用性がどのように向上するのか説明よろしく。
あなたの文章ではそれが少しも伝わってこない。
0062名前は開発中のものです。
2011/04/09(土) 12:14:42.74ID:9uX2BnsM0063名前は開発中のものです。
2011/04/09(土) 12:34:53.13ID:qGOGtjz60064名前は開発中のものです。
2011/04/09(土) 12:41:47.09ID:C8qBJq6P0065名前は開発中のものです。
2011/04/09(土) 12:48:52.44ID:9uX2BnsM全く同じ機能が使えてインポートライブラリ、動的読み込みしてもLIBと機能差が無い。
DLLを読み込める言語からすべての機能が使える。
0066名前は開発中のものです。
2011/04/09(土) 12:58:34.75ID:9uX2BnsM関数の入出力インターフェースだけの問題で回避することは可能だろう。
0067名前は開発中のものです。
2011/04/09(土) 13:03:24.10ID:cSx1Yczo0068名前は開発中のものです。
2011/04/09(土) 13:11:45.85ID:9uX2BnsM初めから他言語のアクセスを意識していればよかった。次のバージョンは汎用性、統一性を重視してほしい。
0069名前は開発中のものです。
2011/04/09(土) 13:46:27.41ID:IW/9GakC確かに間違ってました。ポインタの扱いをもっとしっかり学ばなければ・・・
おかげで上手く通信することができました。ありがとうございました
0070名前は開発中のものです。
2011/04/09(土) 14:02:40.22ID:cNJ9Yspn基本的に単一の実行ファイルにまとまってる方が安心
ユーザーサポートの時間が増えるのは厄介だな
0071名前は開発中のものです。
2011/04/09(土) 14:05:28.79ID:9uX2BnsM0072名前は開発中のものです。
2011/04/09(土) 14:39:53.46ID:fMIi5hfmスタティックリンクと比べて何が良いのかというと、VC以外の環境(基本的にVCでコンパイルされたlibファイルはVCでしかリンクできない)でDxlibの関数が使えるようになる。
それだけ。それ以外のメリットはメリットとして見ることは普通絶対にしない。トラブルの元なので。
VC以外の環境とは、他のC/C++環境はもちろんのこと、他の言語(DLLのC関数が使える言語は星の数ほどある)も含む。
個人的にはそういうニッチな環境で開発してみたいとも思ってるのでDLL版も欲しい
0073名前は開発中のものです。
2011/04/09(土) 15:47:04.02ID:QNjZGhytちょっとしたテストやデバッグの繰り返しとか
大きいファイルをリンクする必要がなくなれば手軽に感じる人もいるかもな
0074名前は開発中のものです。
2011/04/09(土) 16:28:47.43ID:HO8Zs3fHけど、前者はともかく後者は作者さんに頼むはちょっと現実的じゃないから
DXライブラリPortableみたいに外部に派生プロジェクト作ってみたらいいんじゃないかな
0075名前は開発中のものです。
2011/04/09(土) 17:20:41.58ID:cNJ9YspnVC使ってないならもともとこんなんに興味持つとも思えないのだけど
■ このスレッドは過去ログ倉庫に格納されています