1 :名前は開発中のものです。2011/04/03(日) 17:17:11.99 ID:liTmPO3j
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/
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/
5 :名前は開発中のものです。2011/04/04(月) 02:53:30.39 ID:27WTTC5Z
よかった立ってた
スレ立てられなかったからどうしようかと
>>1 乙!
3 :名前は開発中のものです。2011/04/03(日) 19:25:34.16 ID:AodKWX3t
DXライブラリのソースコードを使って、ライブラリを作成せずに
例えば、真ん中に点を打つだけのプログラム
とかを作成したいのですが
ソースコードをどのようにいじれば良いでしょうか?
6 :名前は開発中のものです。2011/04/04(月) 13:56:43.96 ID:G92pIitx
スレも立てられたし、ライブラリの正式版もバージョンアップされたな
7 :名前は開発中のものです。2011/04/04(月) 14:46:10.56 ID:lkmdMkYP
DXライブラリは、汎用性上げるためにDLLで配布したほうがいいだろ。
コンパイラ別にするのは面倒だし。
ライブラリのアップデートに対応できないし。
9 :名前は開発中のものです。2011/04/04(月) 15:19:02.79 ID:72a4O5pd
自分みたいに、DLL形式じゃないから選んでるような人間も居るだろうしなあ。
10 :名前は開発中のものです。2011/04/04(月) 15:33:30.37 ID:qA+xtM5U
どうせバイナリ配布するなら両方用意すればいいだけのことなんじゃない
まぁ必要なものは自分で作ればいいんだけど
11 :名前は開発中のものです。2011/04/04(月) 15:34:43.59 ID:lkmdMkYP
実はDLLでもLIBでも速度差はないらしいが。
windowsが上手いことやって。
12 :名前は開発中のものです。2011/04/04(月) 15:36:46.12 ID:lkmdMkYP
総合アーカイバープロジェクトってあるだろう。
あれはほとんどDLLのみの配布だ。
バージョンアップされも、自作ゲーム・アプリの更新はいらない。
15 :名前は開発中のものです。2011/04/04(月) 22:07:06.65 ID:oUYUst2F
>>12
たぶん、DLLなら「DXライブラリがアップデートする度にビルドして配布」っていう手間がなくなるよ
って言いたいんだと思うけど、俺は逆だと思う。

DLLがアップデートされたら、配布中のゲームの挙動が変わったりして結構うざいと思うよ。
埋め込んでおけば、少なくとも挙動が変わる事がないからDLLが出る度に対応作業をしなくていい。
極端なことを言うと、新しいDLLが出る度に自作ゲームのテストをやり直さないといけない。
だから、開発者側でライブラリのバージョンをコントロールできないって結構大変だと思う。



統合アーカイバーの場合は

DLL→解凍処理そのもの
アプリ→DLLへのGUIを提供

というようにお互いに独立性が高い(特定のDLLやアプリである必要がない)。だから成り立っている。
16 :名前は開発中のものです。2011/04/04(月) 23:52:45.21 ID:+ZQ2N5lU
>>12
統合アーカイバプロジェクトでDLL形式が使われてるのは
DLLを追加することでプラグイン的にソフトの対応フォーマットを
拡張できるようにするためだと思うの。
そういう意味では、対比としてその例を出すのは
あんまり適切じゃないと思うの。

あと、他の有名なゲーム用ライブラリであるLunaとかも
LIB形式配布だった気がするけど。


ってか君、前スレでも同じ事言ってなかった?
13 :名前は開発中のものです。2011/04/04(月) 16:29:59.69 ID:27WTTC5Z
アーカイバとかは仕様がハッキリ決まってるものだけど、ゲームのライブラリはそういうのとは違うんだよ
仕様が100%確定でない以上、ゲームとその周辺のバージョンの管理は作者がやらないといけない
例えば、ライブラリ側で生成される乱数が変更されたら、本体のバージョンは変わらないままリプレイが再生できなくなったりする
14 :名前は開発中のものです。2011/04/04(月) 17:52:44.68 ID:+4VnZw9S
うだうだ言ってないで自分で作れよ。
そのためのオープンソースだろ?
17 :名前は開発中のものです。2011/04/05(火) 01:08:55.04 ID:leWQ4Q6V
一定の需要があるのは確かだろうけどね。
DLL形式で再配布してるところ無かったか。
18 :名前は開発中のものです。2011/04/05(火) 01:47:10.74 ID:azkSsqOb
DLL+Cリンケージはかなり多くの処理系でサポートされてて簡単に別の言語から呼び出せたりするのが夢があって良い
19 :名前は開発中のものです。2011/04/05(火) 02:13:59.62 ID:n6/xNVW9
作る側の都合としてはメリットあるんだけど
実質ゲーム遊ぶ人の視点で考えると

「わざわざDLLも入れないといけないの?
ちょっと遊びたいだけなのに、面倒だからいらね」
となる危惧はあるなあ…
21 :名前は開発中のものです。2011/04/05(火) 11:21:42.45 ID:leWQ4Q6V
>>19
かと言ってゲームと一緒にDLLも配布すると、せっかくのDLL形式の利点の1つが無くなるしな。
20 :名前は開発中のものです。2011/04/05(火) 03:07:44.02 ID:8+yljQiv
dll使いたきゃc#用使えばいいじゃん。dll自体はネイティブなんだし。
22 :名前は開発中のものです。2011/04/05(火) 11:30:08.28 ID:azkSsqOb
サイズ節約なんて利点のうちに入らないと思うけど
そもそもDLLのバージョンが違ったら動かないなんてザラだしユーザ側のDLLインストールとかに頼っちゃ駄目だろこの場合は
23 :名前は開発中のものです。2011/04/05(火) 19:17:21.07 ID:JYrZmSQ6
DxLib.DLLを別インストールするのは無しでしょ。

DXライブラリを使ったソフトが世間に大量にあるわけでも
DXライブラリが数十MBの巨大ライブラリってわけでも無いのに。
DXライブラリに対する利点がほとんど無いよ。無用にユーザの環境を汚すだけ。
24 :名前は開発中のものです。2011/04/05(火) 19:31:00.32 ID:iwB7WDbQ
DXライブラリを使ったソフトって数えたら結構な数がある気がする
25 :名前は開発中のものです。2011/04/05(火) 20:58:30.77 ID:rodxN/HH
7が汎用性とかイミフなことを言うから意味のない雑談が始まったな
26 :名前は開発中のものです。2011/04/05(火) 21:44:01.31 ID:hp+X5XW0
作ったエフェクトがイチマチ暗いというか効果がなかったんだが
二重に加算したらすごくよくなった。
どうやら画像を拡大するときの補完の影響で、エフェクトが全体的に暗くなっていたらしい
27 :名前は開発中のものです。2011/04/05(火) 22:28:10.65 ID:leWQ4Q6V
二重加算は自分もやるけど、数を増やしまくったりすると結構重いな。
極端に古いマシンではないはずだけど、動画キャプったときにカクついた。
28 :名前は開発中のものです。2011/04/06(水) 15:56:44.88 ID:BH+QSZ/U
拡大すると二重に描画しなきゃならないなら、最初から拡大しておいて、
それを明るさ二倍にした画像を用意しといた方が軽いと思う
色飽和させたいなら別だけど
29 :名前は開発中のものです。2011/04/06(水) 19:00:44.88 ID:v6FetV3w
画像を大きくすると今度はメモリが圧迫されるから状況しだいかもしれん
30 :名前は開発中のものです。2011/04/06(水) 20:24:44.37 ID:QYbzkIKn
class Picture{
public:
const int handle;
int x,y,width,height;
//..
Picture(char* filename):handle(LoadGraph(filename)), //..
draw(){DrawGraph(x,y,handle,TRUE);}
};

ってしたいんだが仕様のせいか描いてくれない
何か解決法ない?
37 :名前は開発中のものです。2011/04/06(水) 22:11:03.02 ID:gWmiebMD
DXライブラリの問題ではない
もう一度クラスの使い方について勉強しなおしてください
38 :名前は開発中のものです。2011/04/06(水) 22:15:24.70 ID:N60iyAe0
コードが手元になくてうろ覚えで書いてる?
実際のコードを貼付けた方が確実。

このコードを基準に指摘するなら、
・ハンドル格納先がconst intだから
・描画後に即DxLib_Endしてるから画面が見えてない
40 :名前は開発中のものです。2011/04/07(木) 01:13:24.25 ID:SEAR+BO1
ハンドル格納する変数がconstかどうかは関係ないぞ
41 :382011/04/07(木) 01:33:22.98 ID:IGrDi287
>>40
試したら確かにconstでも問題なかった。
C#とごっちゃになってた。済まない。
43 :名前は開発中のものです。2011/04/07(木) 12:09:47.44 ID:/k8r31Ri
今DXライブラリの通信機能を利用して、クラスを渡して受信側のクラスにコピーするプログラムを組んでいるのですが
どうやらクラスに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;
49 :名前は開発中のものです。2011/04/08(金) 12:55:29.12 ID:lVB4evdp
>>43
boostってのをしらんが

> char* s = new char[aaaa.length() + 1 ];
> strcpy( s, aaaa.c_str() );
> NetWorkSend( NetHandle , &s, sizeof(?

&sの時点でまちがってね?

69 :名前は開発中のものです。2011/04/09(土) 13:46:27.41 ID:IW/9GakC
>>49
確かに間違ってました。ポインタの扱いをもっとしっかり学ばなければ・・・

おかげで上手く通信することができました。ありがとうございました
44 :名前は開発中のものです。2011/04/08(金) 08:12:38.14 ID:OZlsiZIx
DLLでの配布をいってたものですが。
LIBはvs2008、vs2010の差でも動かない。
ヘッダファイルで動的にDLLの関数を読み込めば、Windowsのほぼすべてのコンパイラで統一して動作する。
LIBとDLLを両方配布して、機能差に違いが無いようにしてほしいです。
45 :名前は開発中のものです。2011/04/08(金) 09:12:48.77 ID:1Q+gaT6K
ダイナミックリンクの必要性がよくわからない
いいことないぞ
47 :名前は開発中のものです。2011/04/08(金) 11:39:41.89 ID:s8IM5VZ3
DXLIBって、初心者がC/C++でDXを使えるようにするライブラリじゃねーの?
だから、ビルド時にスタティックリンクして、完結するようにしてるんじゃないのか。
大体、なんで作者が興味ない環境までサポートしてやる必要があるんだよ。
単なる自分勝手な欲求を、多数の利益みたいに言ってるんじゃねえ。
48 :名前は開発中のものです。2011/04/08(金) 12:25:54.70 ID:Qp/vxYBH
DLLになってうれしいのはDelphiやD、BCCだろうけど
すでに廃れてるしな
VC以外でどんな環境で使うの?
50 :名前は開発中のものです。2011/04/08(金) 19:43:19.44 ID:OZlsiZIx
ダイナミックライブラリも、スタティックライブラリも、同じに使えるようにして公開してほしいって事。
あと関数の動作はボージョンアップがあっても、インターフェースは固定されてた方がいいって事。
52 :名前は開発中のものです。2011/04/08(金) 20:24:54.58 ID:8YPSm7Pn
どういうメリットがあるのか聞かれてるのに
自分の希望をたらたら述べるんだもんな
こういう奴はマジで害だわ
53 :名前は開発中のものです。2011/04/08(金) 21:10:43.46 ID:HKyrZUew
必要なければ使わなきゃいいだけで
客観的に見れば要らないって言ってるやつらもただの保守厨
他のライブラリを見ても動的静的バイナリを両方配布するのは別に普通のことだし
初心者にとって無用な選択をさせたくないってのはわかるけど推奨と強制は違う
54 :名前は開発中のものです。2011/04/08(金) 21:17:32.96 ID:u10SZqXe
○○が簡単にできますよー!って仕様を変えたら、
自力でできない初心者の面倒みることになっちゃうだろ
今の状態でも出来る人は簡単に出来る。このくらいで丁度いいんだよ
55 :名前は開発中のものです。2011/04/08(金) 21:21:44.00 ID:NctlQpgy
なんでそんなにDLLに拘るのかがよくわからないけど……
DLLにこだわるのならソースコード公開されてるし自分でビルドしてみるという手もあるよ
ついでにlibjpegとかzlibもdllで扱うようにすれば省メモリ性も上がるかもよ
57 :名前は開発中のものです。2011/04/09(土) 11:37:31.82 ID:9uX2BnsM
自分でやるのは意味が無い。汎用性を上げたらいいっていう主張な訳。
ローカルで、独自に開発を進めても、広く使われるようにならない。


58 :名前は開発中のものです。2011/04/09(土) 11:45:20.83 ID:c9oV/KMW
イミフ、ゲームやる人間が全員DXライブラリのDLLをインストールするような言い方
MicrosoftのDirectXとかならまだしも、なんかものすごい勘違いをしているように思う。

それともゲーム本体のパッケージにはDLLを同封しないで
作者サイトでDLLをダウンロードしてね?ってスタンス?

ゲームのパッケージにすべて同封させるならダイナミックライブラリだろうとスタティックリンクだろうと変わらないと思うけど。
59 :名前は開発中のものです。2011/04/09(土) 11:49:39.00 ID:c9oV/KMW
おっと
言葉足らずだった。
作者サイトとはDXライブラリの作者さんのサイトね
60 :名前は開発中のものです。2011/04/09(土) 11:58:42.24 ID:cSx1Yczo
自分でやれって言われてるのは、他の人がそれを需要がないと思ってるからなんだけど……
需要がないものを実装しても広く使われるようにはならんよ
61 :名前は開発中のものです。2011/04/09(土) 12:03:40.08 ID:c9oV/KMW
>57
それからDXライブラリをDLL化することで何についての汎用性がどのように向上するのか説明よろしく。
あなたの文章ではそれが少しも伝わってこない。

62 :名前は開発中のものです。2011/04/09(土) 12:14:42.74 ID:9uX2BnsM
LIB版もDLL版も標準で配布して、ゲーム開発者がどっちでやるか選べた方がいい。
63 :名前は開発中のものです。2011/04/09(土) 12:34:53.13 ID:qGOGtjz6
CRTが結局バージョン違いで読み込まれるぐらいならLIBで固定化でいいだろ。
65 :名前は開発中のものです。2011/04/09(土) 12:48:52.44 ID:9uX2BnsM
自作部分のコードの改変なくLIB版もDLL版もコンパイルできる。
全く同じ機能が使えてインポートライブラリ、動的読み込みしてもLIBと機能差が無い。
DLLを読み込める言語からすべての機能が使える。
66 :名前は開発中のものです。2011/04/09(土) 12:58:34.75 ID:9uX2BnsM
いまの設計ではC#版からではVC++2008と全く同じ機能は使えないだろ。
関数の入出力インターフェースだけの問題で回避することは可能だろう。
68 :名前は開発中のものです。2011/04/09(土) 13:11:45.85 ID:9uX2BnsM
全関数に渡ってインターフェースを見直して、ラッパーを作ればDXライブラリ本体には手を加える要はないがな。
初めから他言語のアクセスを意識していればよかった。次のバージョンは汎用性、統一性を重視してほしい。
70 :名前は開発中のものです。2011/04/09(土) 14:02:40.22 ID:cNJ9Yspn
DLL版で配布するとトラブルになる可能性がある
基本的に単一の実行ファイルにまとまってる方が安心
ユーザーサポートの時間が増えるのは厄介だな
71 :名前は開発中のものです。2011/04/09(土) 14:05:28.79 ID:9uX2BnsM
あえてDLL版を使う必要は無いが。LIB版が使えない環境のため汎用性上げてLIBとDLLの統一化を。
72 :名前は開発中のものです。2011/04/09(土) 14:39:53.46 ID:fMIi5hfm
多分だけど、それをやるとして、前提としてDLLは同梱するものだと思ってると思うよ。
スタティックリンクと比べて何が良いのかというと、VC以外の環境(基本的にVCでコンパイルされたlibファイルはVCでしかリンクできない)でDxlibの関数が使えるようになる。
それだけ。それ以外のメリットはメリットとして見ることは普通絶対にしない。トラブルの元なので。
VC以外の環境とは、他のC/C++環境はもちろんのこと、他の言語(DLLのC関数が使える言語は星の数ほどある)も含む。

個人的にはそういうニッチな環境で開発してみたいとも思ってるのでDLL版も欲しい
73 :名前は開発中のものです。2011/04/09(土) 15:47:04.02 ID:QNjZGhyt
DLLは開発向けに使えないこともないんじゃない
ちょっとしたテストやデバッグの繰り返しとか
大きいファイルをリンクする必要がなくなれば手軽に感じる人もいるかもな
74 :名前は開発中のものです。2011/04/09(土) 16:28:47.43 ID:HO8Zs3fH
DLL化&インターフェイスの改善がしてほしいってのはわかったし、それらに有用性があるのも確かだと思う
けど、前者はともかく後者は作者さんに頼むはちょっと現実的じゃないから
DXライブラリPortableみたいに外部に派生プロジェクト作ってみたらいいんじゃないかな
80 :名前は開発中のものです。2011/04/10(日) 08:10:57.18 ID:xS+OSluW
>>74
DLLとLIBで関数が違ったら価値が減る。コードの変更なしで両方コンパイルできることが大事。
75 :名前は開発中のものです。2011/04/09(土) 17:20:41.58 ID:cNJ9Yspn
具体的にどういう環境で開発してるんだ?
VC使ってないならもともとこんなんに興味持つとも思えないのだけど
76 :名前は開発中のものです。2011/04/09(土) 19:03:00.34 ID:O6l7nxwA
仕事で別の環境を使ってて、それに近づけたいとかなのかな。
自分も似たようなことやってるけど、頭と手の切り替えが面倒くさい。


>>75
>VC使ってないならもともとこんなんに興味持つとも思えない

「VCだからDXライブラリを使う」っていう人は、そんなに多く無い気がするけどなあ。
Win環境でゲームを作りたいと思ったときに、有力候補としてDXライブラリがあり、それがVC対応だったって言うだけだろう。
77 :名前は開発中のものです。2011/04/09(土) 23:30:25.05 ID:tIIMls7f
DLL化は場合によっては有用だとは思うけど
それは作者の仕事ではないとも思う

オープンソースであることの意義は
不満があれば自分で改変できる点
DLLにしたいなら、自分でやればいいのでは?

もし、その作業が面倒だと思ったら
その面倒を他人に押し付けてる事を理解するべき
78 :名前は開発中のものです。2011/04/10(日) 00:00:04.91 ID:thZzNaTy
CSVファイルなどから2バイト文字を読み込むことは出来ないのでしょうか?
FileRead_getc()関数ではなく、FileRead_gets()関数を使用すれば2バイト文字でも
読み込めますでしょうか?
79 :名前は開発中のものです。2011/04/10(日) 00:13:07.66 ID:T8QzagVr
FileRead_gets()で読み込めますですよ
FileRead_getc()はリファレンスの書き方がちょっと紛らわしいかもね
アレは結果的に一文字読むことになるけど、単に1バイト読んでるってだけ
82 :名前は開発中のものです。2011/04/10(日) 10:51:34.15 ID:j0N1QAKB
DLLだと関数名が違うからな

こいつの言うことも分からなくはないが、
大した需要が無い反面、作者への負荷がでかくて大したメリットもない

まあ、やるか決めるのは作者だし、
あったらいいね、くらいしか言うことないわ
84 :名前は開発中のものです。2011/04/10(日) 12:41:32.16 ID:XcUP7VJ6
関数名が違うって意味がわからないし作者にかかる負担も大きいとはとても思えないんだが
85 :名前は開発中のものです。2011/04/10(日) 12:45:29.27 ID:WjyMpu6x
同名でラッピングしてDLLにしてヘッダファイル書いて
DLLは暗黙的、静的リンクするようにして
VCのCRTみたいにリンクするライブラリを切り替えるだけだろ。
全部自分だけで出来ることじゃないか。
86 :名前は開発中のものです。2011/04/10(日) 12:50:27.49 ID:S7EUz840
確かに意味が分からない。
DEFファイル使わないってことか?
88 :名前は開発中のものです。2011/04/10(日) 13:29:20.76 ID:S7EUz840
そういう意味か、ていうか何度も言われてるが。オープンソースなんだから
自分でDLLビルドしろよ。
VC++だって無料で配布されてるんだからできるだろ。
89 :名前は開発中のものです。2011/04/10(日) 18:32:49.52 ID:J5BVLAuT
面倒くさいっちゃ面倒くさいけど、
不要な機能を削るといったカスタマイズを並行して行うつもりなら、そこまで手間じゃないかな。
91 :名前は開発中のものです。2011/04/10(日) 21:19:56.20 ID:pZMxbktU
元の主張だと「世の中全部のDXライブラリアプリがDLLを共有すれば重複してる分が節約できて幸せだよね」
ってことだと思うけど、ゲームなんて同時に実行することはほとんどないし
今どきのHDD容量だとDXライブラリのDLLなんて屁みたいな小ささだから気にしても仕方がない
以上のことからDLL化は意味がない
93 :名前は開発中のものです。2011/04/10(日) 22:08:45.31 ID:qGFjM0/A
関数名が違うっていったって、先頭に dx_ が付くだけじゃないか。
そんなにウダウダ言うほどのことなのだろうか?
95 :名前は開発中のものです。2011/04/10(日) 23:11:06.42 ID:GRQTkMJp
dx_つくのは公式で配布してるC#用のdllだけの仕様だから
自分でC++からDLLとしてビルドすれば関数名が違うなんてことはないよ
96 :名前は開発中のものです。2011/04/11(月) 01:02:22.48 ID:5UyNk44y
C#用だと関数名が違うのか。知らなかった。
なんか理由あるのかな、
97 :名前は開発中のものです。2011/04/11(月) 08:57:25.88 ID:zt9y+SPh
DXライブラリは3Dが弱いといわれているみたいだけど
管理人さん、やっぱ3D機能の強化をしていくみたいだね。
99 :名前は開発中のものです。2011/04/11(月) 17:49:55.16 ID:l965sLE+
>>97
2009年9月に初めてDirectX9と3Dに対応したって時代遅れも度が過ぎる
未だに3D機能弱いとかお粗末だな、外国では5年以上も前に3DのSDK沢山あるっていうのに
何でこんなものが日本のアマチュアに人気なのかわからん
100 :名前は開発中のものです。2011/04/11(月) 17:51:04.38 ID:FsEy3yEO
>>99
日本製で日本語のドキュメントも豊富だからに決まってんだろ
なんでわかんないんだよ
101 :名前は開発中のものです。2011/04/11(月) 18:15:17.14 ID:e2JQSGvd
>>99
DXライブラリに3D機能が求められてないからだろ
小学生レベルの知能かお前は
98 :名前は開発中のものです。2011/04/11(月) 12:28:29.83 ID:Ry6jtFwO
あくまでグラフィックライブラリとして強化していくのかな
2Dゲームエンジンとして進化するかと思ってたけど
102 :名前は開発中のものです。2011/04/11(月) 18:49:31.10 ID:d8BKDvoI
初めて作るゲームがいきなり3Dとかはあんまり無いからな
2Dのゲームを作るのにDXライブラリが役立つからだろ…
103 :名前は開発中のものです。2011/04/11(月) 18:58:01.86 ID:Lbneg8L3
3D酔いするから、3Dグリグリのゲームはだめだわオレ
SFCのマリオカートですら酔うんだぜ・・・
104 :名前は開発中のものです。2011/04/11(月) 19:24:30.05 ID:kYpvBb3T
作者さんは、2D機能はもう十分完成しているという考えなのかも。
だから3D機能の拡充に動いてるんじゃないかな。

あと、ゲ製で海外とか外国とか言ってるレスはスルーが吉。
105 :名前は開発中のものです。2011/04/11(月) 19:26:38.11 ID:c9gNIEgd
2Dゲームでも3Dデータ使うこと多いし求められてないってことはないだろ
106 :名前は開発中のものです。2011/04/11(月) 19:51:21.79 ID:SprE+/oI
>>105
そういう意味じゃないだろ
107 :名前は開発中のものです。2011/04/12(火) 19:11:07.88 ID:gm9+f4H+
109 :名前は開発中のものです。2011/04/12(火) 20:02:08.96 ID:DbM5dHPv
>>107
DXライブラリ製の3Dの惑星シミュ?
よぅわからん
108 :名前は開発中のものです。2011/04/12(火) 19:57:58.48 ID:T4xJEJ79
残念ながら日本製のゲームライブラリではdx以外選択肢はないきがする
pygameとかのほうが使いやすいんだけどはやりそうにないし
日本語資料が豊富かどうかが重要だと思います
ライブライぐらい自分で調べろ そういわれてもこちとら趣味なのでそこまで必死になって
プログラミングしたいわけじゃございません
110 :名前は開発中のものです。2011/04/12(火) 20:42:06.16 ID:TktYD3Qf
>>108
pygameってコミュニティあるの?
日本語か英語でいいのがあったら教えてくれ
112 :名前は開発中のものです。2011/04/12(火) 20:55:51.64 ID:DbM5dHPv
よくかんがえるとそうだな
ここは有数のライブラリの中からDXライブラリを使うことを選んだ人が語り合ったりするスレだったな……
114 :名前は開発中のものです。2011/04/13(水) 04:48:27.15 ID:rcUZUfYC
プログラミング初心者丸出しの質問で申し訳ないんだけど、DXライブラリの中身って結構高度なのかな
こういうライブラリも(つくろうと思えば)自分で作れるくらいの技術がないとプロにはなれないんだろうか
115 :名前は開発中のものです。2011/04/13(水) 05:05:49.90 ID:aWOXGcsg
>>114
DXライブラリレベルのライブラリを作れるようになる必要はない
けど、少なくとも自分が欲しい機能を持っただけのライブラリは自作できないとウチの会社では採用しないよー、
って、知り合いのそれ系プログラマーが言ってた

その人も趣味ではDXライブラリ使ってるんだけどね
116 :名前は開発中のものです。2011/04/13(水) 06:42:44.51 ID:rcUZUfYC
>>115
遅くてもいいから自分でDXライブラリと同じような機能を実装できるようになればって感じなのかな
参考になったよ!ありがとう
DXライブラリもどきを目標に勉強するよ
117 :名前は開発中のものです。2011/04/13(水) 10:57:08.34 ID:zfcjWNr6
>>114
ライブラリに頼らないで開発できるようじゃないとプロは厳しいぞ
特にコンシューマは、DirectXすら使えないし、CPU制御やハードウェア知識も要る
初心からこんなライブラリに頼ってる奴はメモリ管理なとのきちんとしたプログラム作法身に付かないからプロから嫌われる
プロ目指すなら楽を覚えちゃいけないよ
121 :名前は開発中のものです。2011/04/13(水) 12:44:47.71 ID:Rx+Ij9vi
いや、俺がアホだっただけなんだ。
1フレームごとに処理時間を計って、スキップ判定をしていたのを
10フレームごとの平均処理時間を計って、その平均処理時間がお望みの値になるまで
描画スキップするという処理にしたら、とても安定したんだ。
122 :名前は開発中のものです。2011/04/13(水) 21:09:49.99 ID:Alw0DeH0
「そのフレームの処理時間」の部分を、
まるっと「過去10フレームの平均処理時間」に置き換えたと。
124 :名前は開発中のものです。2011/04/16(土) 02:50:25.02 ID:ulFWayBp
ファイアーエンブレムみたいに四角のユニットを動かしていくゲームを作っているんだけど

移動範囲を描画するのに何か良い方法、というか方針的なものを教えてくれまいか…


2次関数x,yに◇の領域で、 y > x + a, .y < -x + .... のとき描写とかしてたんだが…

障害物とか敵があって通り越せないとか、回り道とかでもうだめぽ
125 :名前は開発中のものです。2011/04/16(土) 02:54:25.85 ID:4owT9/BC
移動可能なマスを予め計算しておいて配列に記憶しておく。それをただ描画する。
再帰とか使って一マスずつ移動するのをシミュレートすると楽。
126 :名前は開発中のものです。2011/04/16(土) 03:00:00.83 ID:ulFWayBp
やはりシュミレートれすか…

再起全然わからない…勉強しまふ…
130 :名前は開発中のものです。2011/04/16(土) 14:26:17.59 ID:zRkC83jb
前スレ>>919さん、DXライブラリでのgifアニメの再生の件、
教えていただいてありがとうございました、再生できました。
諸事情でお礼が遅れてしまいすみませんでした。
131 :名前は開発中のものです。2011/04/16(土) 16:54:28.28 ID:9IOgkMP1
DXライブラリを使おうと思っているんだけど
スーファミくらいのゲームを実行できる速度なの?
それの起動時間ってどれくらい? 教えてくださいおながいします
133 :名前は開発中のものです。2011/04/16(土) 17:58:38.08 ID:ovxQ+vo4
パソコンの環境にもよるけど余裕だろ。
起動は一瞬だけど遊べる段階に行くまではローディングの仕様による。
134 :名前は開発中のものです。2011/04/16(土) 18:19:55.77 ID:9IOgkMP1
>>133
DXライブラリ使おうと思います
あざました
136 :名前は開発中のものです。2011/04/18(月) 12:44:28.01 ID:wEqGQNkO
なんか最近紹介ページが賑やかになってきてるな
段々流行ってきてるのかね
138 :名前は開発中のものです。2011/04/18(月) 21:41:18.14 ID:Jo7OWMfx
サーバが死ぬw
自サイトへの誘導がメインだと、サイトも見てもらえるし今のままでいいと思うけど
139 :名前は開発中のものです。2011/04/19(火) 16:58:10.21 ID:OCzKiVRH
描画関数の並び順を入れ替えるする方法をしりたいんだけど
クイックソート?する方法が分からない
とある掲示板でも同じような質問があったんだけどチンプンカンプン
140 :名前は開発中のものです。2011/04/19(火) 16:59:07.36 ID:Xq/yrqsF
めんどっちいからソートの為だけに配列にvector使ってる自分
141 :名前は開発中のものです。2011/04/19(火) 17:05:25.51 ID:6c2Cx/Vz
Cのライブラリにqsortってのがあるからそれを使う。関数名で調べるといいよ。
143 :名前は開発中のものです。2011/04/19(火) 17:16:39.68 ID:OCzKiVRH
…y座標が大きい順に並べたいんだけど、どうやって比較しよう?
今までは単純に数の大きさでソートしてたんだけど
画像って描画する為に一つ一つ違う変数を使うじゃん?
それの比較の仕方が分からない 配列を使うのか? 教えてくだちい
144 :名前は開発中のものです。2011/04/19(火) 17:29:57.95 ID:hqIQjP2u
違う変数を使うって、同じ変数をどうやってソートしてたんだよ
146 :名前は開発中のものです。2011/04/19(火) 17:40:38.10 ID:Xq/yrqsF
y座標っていうのは描画位置のことで画像の幅ではないと思う

ググったけどこれかな
http://simd.jugem.jp/?eid=116
まず1つのオブジェクトの情報は1つの構造体にまとめるべきだと思う
160 :名前は開発中のものです。2011/04/19(火) 19:13:05.46 ID:9kGY7UMm
関連付けは別にプログラムとかじゃないよ。ただ座標を構造体の変数にするだけ

typedef struct{
int x;//x座標の値
int y;//y座標の値
char *name;//画像の名前
}TEST;

TEST base[2];
for( i=0; i<10; i++ ){
LoadGraphScreen( base[i].x , base[i]y ,*base[i].name , TRUE ) ;
}

こんな感じ。ソートは>>146
172 :名前は開発中のものです。2011/04/20(水) 16:38:32.43 ID:gmfDKVTI
>>160
思ったんだけど、これソートできるか?
195 :名前は開発中のものです。2011/04/22(金) 15:22:32.53 ID:ZZbcrveS
>>160
わ、分からない…
描画関数の分だけ構造体つくればおkなの?
203 :名前は開発中のものです。2011/04/22(金) 19:16:48.12 ID:rCUrQ5sm
画像をロードしてから、
DrawGraphやDrawExtendGraphといった複数の描画関数を使ってることだよね?
そしてこの場合、単純に>>160の方法では無理なんじゃない、って話?

俺は経験薄なんでこれがまともな方法か分からんが
どの描画関数を使うかのフラグと、全ての描画関数に対応したメンバを持つ構造体を作って
それに次々に値を放り込んだ後、ソート→フラグに応じた描画関数で描画、という流れにするかなぁ
205 :名前は開発中のものです。2011/04/22(金) 19:48:39.62 ID:mHWapd/x
>>203
流れから言って>>195はド初心者だ。
描画関数っていうのはLoadGraphScreenのことだと思われる。
プログラムを教えるときに初心者の説明が正しいと思って聞くことがまず間違い。
207 :名前は開発中のものです。2011/04/22(金) 20:21:32.51 ID:ZZbcrveS
>>203
ありがとうございました
おかげで解決しました
225 :名前は開発中のものです。2011/04/23(土) 17:53:52.76 ID:Nu+ZK2JU
>>203
それだったらクラスでスッキリ解決するのでは
147 :名前は開発中のものです。2011/04/19(火) 18:20:14.16 ID:OCzKiVRH
すいません 100%私の言い方が悪かったです 具体例をあげます
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
この2つのy座標を比較する方法を知りたいのです
149 :名前は開発中のものです。2011/04/19(火) 18:26:31.16 ID:OCzKiVRH
やっぱり自己解決してませんでした
2つの関数のy座標だけを比べて並び替える方法を教えてください
152 :名前は開発中のものです。2011/04/19(火) 18:39:49.00 ID:6c2Cx/Vz
普通は座標やグラフィックハンドルを一つの構造体に入れて、その配列にqsortをかけたりするんだけど
157 :名前は開発中のものです。2011/04/19(火) 18:56:21.21 ID:hqIQjP2u
言うまでもなく、座標をソートしても関数はソートされない
せめてソートする座標と画像の情報(この場合は名称?)を関連付ける必要があるよ
だから素直に構造体を学びなさい
159 :名前は開発中のものです。2011/04/19(火) 19:01:26.07 ID:OCzKiVRH
Cの勉強はしたので構造体は分かるのですが
関連付けってのがよく分からないです
せめて関連付けのヒントやサイトを教えてください
163 :名前は開発中のものです。2011/04/19(火) 19:31:25.44 ID:BUMN6eju
multimapでfirstをY座標の値、secondを構造体かクラスのポインタ
165 :名前は開発中のものです。2011/04/19(火) 19:48:51.23 ID:OCzKiVRH
>>163
はて?
166 :名前は開発中のものです。2011/04/19(火) 19:56:56.40 ID:BUMN6eju
>>165
STL使わないならスルーしてくれ
164 :名前は開発中のものです。2011/04/19(火) 19:48:45.67 ID:hqIQjP2u
配列の各要素にアクセスするためとしか言いようがないな
ちなみに要素数が2なんでfor( i=0; i<10; i++ ) はfor( i=0; i<2; i++ ) になるはず
167 :名前は開発中のものです。2011/04/19(火) 20:21:06.58 ID:zBk5BSCq
ID:OCzKiVRH、小学生だろこいつ
基本的な文くらいできるようになってから来いよ…。
もしくはなん質でも行け。
171 :名前は開発中のものです。2011/04/20(水) 16:34:52.26 ID:gmfDKVTI
>>167
まぁまぁ
初心者がいないとスレも過疎るじゃん?
168 :名前は開発中のものです。2011/04/19(火) 22:11:32.99 ID:DdF9Bpal
そのとある掲示板がなん質かなんかだったと思う。昨日見た。
170 :名前は開発中のものです。2011/04/19(火) 23:34:18.45 ID:sfRNT3qP
要素数2だけでいいのか?
2なら簡単だけど多分違うんだろうな
違うという前提ならやはり構造体かクラスに座標情報を持たせて
それらを配列なりリストなりにして
ソートさせて表示でいいんじゃないの
174 :名前は開発中のものです。2011/04/20(水) 17:05:46.32 ID:gmfDKVTI
え?だって質問者はy座標で関数を入れ替えたいんだろ?
qsortってのは使ったことないんだけどできなさそうなんだが
176 :名前は開発中のものです。2011/04/20(水) 17:13:37.27 ID:QAjmiDzS
qsortは要素の比較関数ってのを自分で作って渡すんだけど、その関数にY座標の比較を入れればそういうふうにソートできる。
177 :名前は開発中のものです。2011/04/20(水) 17:24:38.57 ID:gmfDKVTI
y座標を比較すれば構造体のおかげで関数も自然に入れ替わるってこと?
qsortは使ったことないんだけど  …おかしいこといってたらごめんってことです
178 :名前は開発中のものです。2011/04/20(水) 17:29:01.31 ID:yrI6qPon
質問が難しいな
関数入れ替えたいってどういうことなんだろう
179 :名前は開発中のものです。2011/04/20(水) 17:48:56.59 ID:GN2ua2Pn
Cの勉強をしたって書いてあるけど、経験が無くて使い方がわからないんじゃないかと推測。
彼はプログラムの概念をわかっていないように見えるし、レスもよくわからないから的外れだったら申し訳ない。

たぶん彼が言いたいことはこう。

まず以下のように書くとA、B、Cの順で描画される。
LoadGraphScreen( A.x , A.y , "A.bmp" , TRUE ) ;
LoadGraphScreen( B.x , B.y , "B.bmp" , TRUE ) ;
LoadGraphScreen( C.x , C.y , "C.bmp" , TRUE ) ;

けれどもこの時y座標の大きい順に描画したい。
例えばC、A、Bの順に大きかったら、以下のようになると良し。
LoadGraphScreen( C.x , C.y , "C.bmp" , TRUE ) ;
LoadGraphScreen( A.x , A.y , "A.bmp" , TRUE ) ;
LoadGraphScreen( B.x , B.y , "B.bmp" , TRUE ) ;

つまり、彼は描画順序を入れ替えたいんだけど、その手段としてソース上で順序を入れ替えないといけないと思っているんじゃないかな。

二つに限定して、且つ超初歩的にやればこれでいいんじゃないの?
もちろん配列でソートでって方が汎用性高いのはわかってる。

if(ch.y > tk.y){
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
}else{
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
}
181 :名前は開発中のものです。2011/04/20(水) 18:21:21.63 ID:gOh24mXV
>>180
>>179は>>147の例でLoadGraphScreen使ってるから
同じように書いただけでしょ

>>179
「関数の並び順を入れ替える」って書き方からして多分そうだろうね
182 :名前は開発中のものです。2011/04/20(水) 18:41:19.53 ID:yrI6qPon
>>181
ああ、書き方が悪かった
先にLoadGraph覚えたほうがよくね?と
187 :名前は開発中のものです。2011/04/20(水) 20:56:03.86 ID:7Yep2+Xc
>>179
質問者の意図を理解できた! ありがとう>179! お前さん凄いよ!
180 :名前は開発中のものです。2011/04/20(水) 17:59:23.21 ID:yrI6qPon
それならLoadGraphScreenじゃなくてLoadGraphにして
グラフィックハンドル使うようにしたほうがよくね?
183 :名前は開発中のものです。2011/04/20(水) 19:52:46.50 ID:gmfDKVTI
でも絵を描画する為にわざわざ構造体を使うだなんて面倒くさいな
もっと簡単な方法があればいいんだけどね
186 :名前は開発中のものです。2011/04/20(水) 20:17:07.27 ID:gmfDKVTI
>>183は訂正
わざわざ構造体を何度も使わなくても良かった
184 :名前は開発中のものです。2011/04/20(水) 19:57:18.68 ID:QAjmiDzS
3D機能のZバッファとかなんとかで適当に何とかなんないかな?
185 :名前は開発中のものです。2011/04/20(水) 19:59:14.98 ID:u46E6FXO
>>184
それでも半透明含む画像なら描画順ソートしないといけないからなぁ
188 :名前は開発中のものです。2011/04/21(木) 00:23:44.65 ID:21Pfty4+
そんなもんみんな気付いてたことなんじゃないの
190 :名前は開発中のものです。2011/04/21(木) 02:21:16.68 ID:8fqBzhMo
>>188
関数の入れ替えってあたりの文面がどうも意味不明で
質問の意図を理解できてなかったんだ
191 :名前は開発中のものです。2011/04/21(木) 04:44:00.06 ID:kTQF2lXe
なんかいろいろ勘違いしてるんだろうなーでも触れるとめんどくさそうだなーと思ったから誰も触れなかったんだよ
192 :名前は開発中のものです。2011/04/21(木) 17:55:52.72 ID:7X7Ch23Q
>>191
いや、勘違いはしてないと思た
193 :名前は開発中のものです。2011/04/21(木) 20:22:14.76 ID:z6Ik0fAk
文字を回転や拡大させたかったら文字の画像を作るのが一番なのかな
197 :名前は開発中のものです。2011/04/22(金) 16:19:03.02 ID:IbxgPKF0
「関数そのもの」と「関数呼び出し」と「ソースコードの一行」を使い分けろ
199 :名前は開発中のものです。2011/04/22(金) 18:14:26.01 ID:vb0J5xwN
関数のぶんだけというか描画する画像の分だけ構造体をつくるんだな
201 :名前は開発中のものです。2011/04/22(金) 18:58:47.76 ID:iP1DrzVR
CとC++勉強してから出直してきなっ が正解だと思う
もしくはゲームの基本設計
202 :名前は開発中のものです。2011/04/22(金) 19:10:34.25 ID:iUZtwWxy
んだな〜
とりあえず四聖龍神録のとこに誘導してみるか
http://dixq.net/rp/
とりあえずココ行って基礎を学んでくれ
204 :名前は開発中のものです。2011/04/22(金) 19:41:48.50 ID:WNlqzxto
描画系関数って、上位互換/下位互換的な関係のものが多いから
(例:DrawGraphで出来る描画はDrawExtendGraphでも可能)
どれぐらい複雑な描画をしたいか、に応じて使う関数を決めれば良いと思うよ。
206 :名前は開発中のものです。2011/04/22(金) 20:00:26.12 ID:17mzfYEX
まずLoadGraph覚えて
DrawGraph等の描画関数使えるようにならないとだるい
208 :名前は開発中のものです。2011/04/23(土) 04:07:37.85 ID:+EnSFA7O
今までファイル読み込み関係の関数の存在意義がわからなかったのだが
もしかしてこれを使わないとDXアーカイブ内部のファイルが読めない?
210 :名前は開発中のものです。2011/04/23(土) 09:58:05.21 ID:8HtAA01M
>>208
もろDXアーカイブ用の為の関数よ。
211 :名前は開発中のものです。2011/04/23(土) 10:01:41.96 ID:tKjuaaW1
製作中はアーカイブにせずそのままだろうから
いざ最後にアーカイブ化してそのことに気づくというパターンはありそう
っていうか俺も今気づいた。
アーカイブにしたら動かないだろうな
212 :名前は開発中のものです。2011/04/23(土) 10:10:56.27 ID:8HtAA01M
>>211
DXアーカイブの強みは、DxLib内の関数のみを使用している意識せずに使えることなんだけど…。
ちゃんとリファレンスを読もう。
213 :名前は開発中のものです。2011/04/23(土) 10:13:40.19 ID:8HtAA01M
今日は起きたばかりなせいか文章能力がだいぶ欠落してるなw

>>210 用と為被ってておかしいのと、
>>212 DxLib内の読込関数を使用していれば意識せずに です。

ごめんなさい、許して。
223 :名前は開発中のものです。2011/04/23(土) 13:46:37.99 ID:tKjuaaW1
>>212
製作中はアーカイブにしないから
標準の読み込み関数を使ってしまって
そのためにアーカイブ化すると動かなくなるということ話ね。
224 :名前は開発中のものです。2011/04/23(土) 17:29:32.03 ID:8HtAA01M
>>223
あぁ、何も考えずに勝手に手が動いちゃってみたいな意味か。
217 :名前は開発中のものです。2011/04/23(土) 12:14:29.86 ID:VGABxqlM
FireRead_readをC標準関数のreadと同じ感覚で使おうとしたら
痛い目にあったことを思い出した。
218 :名前は開発中のものです。2011/04/23(土) 12:15:37.75 ID:VGABxqlM
FileRead_readをC標準関数のreadと同じ感覚で使おうとしたら
痛い目にあったことを思い出した。
219 :名前は開発中のものです。2011/04/23(土) 12:16:51.97 ID:VGABxqlM
生まれて初めて2重書き込みという物をやらかした。
すまん。
226 :名前は開発中のものです。2011/04/23(土) 17:55:44.84 ID:YC2BcyK4
自分もそのパターンだなあ。

俺用フレームワークを作ってる人は多いと思うけど、
拡張しながら使っているとは言え、新しい機能とか部分的に対応してなかったりするんだよなw
227 :名前は開発中のものです。2011/04/23(土) 17:59:12.91 ID:MULAonT8
64bit版ライブラリを作ろうとしてソース調べてたんだけど
DxWin.cppのWM_MOVEShred関数の
WinData.WindowRect.left = ( lParam << 16 ) >> 16;
を筆頭に変な書き方をしている部分が多くて挫折しそう
228 :名前は開発中のものです。2011/04/23(土) 20:46:39.92 ID:9baWLQqe
固定小数点の変数として見てて
上位16ビットを捨てて小数点以下にしてるとか?
229 :名前は開発中のものです。2011/04/23(土) 20:58:50.32 ID:MULAonT8
いや、lParamが32bitだと仮定して16bit左シフト16bit右シフトで
上位16bitをクリアしようとしてる
当然lParamが64bitであるx64では破綻する

むしろ符号拡張絡みで32bitでもやばい気がしないでもない
Windows的にはHIWORD,LOWORDマクロで取り出すのが正攻法
230 :名前は開発中のものです。2011/04/23(土) 21:32:25.30 ID:l8bD6Lx5
>>229
公式で指摘してあげたらいんじゃね?
管理人さんも万能のスーパーマンというわけではないのだから
232 :名前は開発中のものです。2011/04/23(土) 22:48:29.18 ID:MULAonT8
>>230
ネイティブ64bit対応なんてこのライブラリのユーザ層からして需要がないから
公式には書きにくくてね
231 :名前は開発中のものです。2011/04/23(土) 21:45:55.91 ID:VcZqyLro
結局、質問掲示板のほうに言ったか
向こうも大混乱だな
233 :名前は開発中のものです。2011/04/23(土) 23:55:35.46 ID:96fUA2Yj
ネイティブで64bit対応するとどういう得があるんだっけ?おしえてくだちい
235 :名前は開発中のものです。2011/04/24(日) 18:35:19.94 ID:QtHel+Bq
>>233
doubleが64ビット
234 :名前は開発中のものです。2011/04/24(日) 02:35:50.16 ID:h1rovhXU
開発側が32bitを切りたいと思ってるなら役立つ?
少なくともXPは全滅しそう。
236 :名前は開発中のものです。2011/04/24(日) 18:36:28.57 ID:f3nRIpeu
メモリコピーがちょっと早くなるだけ?それってそんなにいるの?
239 :名前は開発中のものです。2011/04/24(日) 21:13:01.00 ID:v3pwyrnJ
初心者が詰まりそうなトコが個別に分かりやすくまとめられてるな ナイスだ
241 :名前は開発中のものです。2011/04/24(日) 22:57:06.46 ID:9GkRz4f/
SNS設置してねーわとか思ってたけど無くなったの?
やっぱり不評だったんだな。
まあ個人サイトをここでとやかく言うことではないか。
245 :名前は開発中のものです。2011/04/27(水) 16:41:50.17 ID:SfWDnuLr
このゲームはDXライブラリ使ってるとか分かる方法ありますか?
246 :名前は開発中のものです。2011/04/27(水) 16:50:07.54 ID:IPJ0XE3+
何か根本的な勘違いをしてる気もするが……まあいいや。

Log.txtとDXライブラリ用アーカイブあたりで判別できることはある。
あとreadme
248 :名前は開発中のものです。2011/04/29(金) 19:09:37.42 ID:DyYH5Z77
ふと思ったんだが
DXライブラリでつくられたゲームで売れているのってあるか?
249 :名前は開発中のものです。2011/04/29(金) 19:16:58.08 ID:kMqcAN+6
>>248
有名なのはディアドラエンプティとかかな
売れてるかはわからないけどアナザーアポカリプスってのも評判良かった
あと東方二次創作ではDXライブラリ製が結構多い
251 :名前は開発中のものです。2011/04/29(金) 20:09:32.74 ID:KkdA+cFq
ロックマンみたいなやつもあったね
252 :名前は開発中のものです。2011/04/30(土) 00:40:51.92 ID:32GM57KJ
>>251
あーそれ、さっきまで遊んでた
フロイデンシュタヘルとかいって喋るやつじゃない?
253 :名前は開発中のものです。2011/04/30(土) 07:10:23.99 ID:aEFMseaj
Rosenkreuzstiletteだね
あと古いゲームだけど、だんえたもそこそこ売れたんじゃないかな
調べてみるとフリーで有名なゲームにもDXlib使ってるのがちらほら
254 :名前は開発中のものです。2011/05/01(日) 01:22:54.30 ID:Ev0zZ5zF
SetAlwaysRunFlagをTRUEにして、GetActiveFlagがTRUEの時に
キー判定をするようにしても、VC++がアクティブ時だとキーが
反応してる気がする
255 :名前は開発中のものです。2011/05/01(日) 06:52:06.21 ID:IAjZNoGW
VC++が親プロセスになってるからかな?
単独で動かしたときはどうよ?
340 :2542011/05/26(木) 20:53:42.12 ID:pDvbsZn3
>>255
もの凄く今更だけど、単独起動では処理は止まってた
だけど、ソフトをアクティブから最小化にした直後は
キー操作に反応してる(処理は止まってない)ようだった
SetAlwaysRunFlagはFALSEで、GetActiveFlagがTRUEの時に
キー判定するようにしてても

バージョンは3.05
256 :名前は開発中のものです。2011/05/07(土) 23:50:21.56 ID:EtYXhAMI
DXライブラリからSeleneに移行したみたいな人っている?
3DならSeleneがいいみたいな話を小耳に挟んだのでちょっと興味が沸いた
258 :名前は開発中のものです。2011/05/08(日) 00:06:46.40 ID:wp3inFii
DXライブラリに慣れてるならそのままがいいんじゃないかな
感覚そのままで3Dに以降できるし

昔selene使ってみようとしたことがあったけど、
色々用意されすぎてて独自ルール満載のseleneプログラミングを勉強しなおす事になっちゃう
259 :名前は開発中のものです。2011/05/08(日) 01:22:47.21 ID:6B61UFdu
ちょっと見てみたけど確かに難しそうだったな。
やっぱ慣れてるほうのがいいか。ありがとう。
260 :名前は開発中のものです。2011/05/08(日) 02:26:03.19 ID:Q+cfEXU/
dxライブラリで物足りなくなったら大人しくdirectx直叩きに移行するかなぁ
261 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/08(日) 14:34:35.09 ID:RMol3l5C
やっぱり読み込む画像のサイズが小さい方が描画速度が速いようだぞ
画像を読み込むときに画像を16x16毎に分けて個別に配列に格納して描画するようにしたら
めっちゃ早くなったわ。処理を見直すよりよっぽど効果があるわ。
画像が小さい方がビデオメモリに画像データをキャッシュさせやすくなるとかなのかな。
262 :名前は開発中のものです。2011/05/08(日) 14:43:22.94 ID:RBZRN1AF
例えば横513ピクセルだと1024まで拡張しちゃう的ななにかかもしれない
263 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/08(日) 14:50:31.40 ID:RMol3l5C
なんでソフト屋様がハード仕様を意識してコーディングしないといけないんだよふざけんあよ
265 :名前は開発中のものです。2011/05/08(日) 15:01:59.49 ID:RBZRN1AF
と思ったけどDxライブラリってそこ勝手に分割してくれるとかなんとか
フラグ建てないとだめなんだっけ?そんな感じの記述をどっかで読んだ覚えが
266 :名前は開発中のものです。2011/05/08(日) 15:03:18.18 ID:zclMRG66
というよりそんなことしないといけないような重いプログラムのほうが問題だったりしないか
268 :名前は開発中のものです。2011/05/08(日) 16:06:55.79 ID:rUzvphcT
DXライブラリの通信プログラムを触ってゲームつくりたいんだけど
詳しく載ってるサイトない?
269 :名前は開発中のものです。2011/05/08(日) 16:40:31.79 ID:4k77N9pL
軽くできるならそうすべきだけど、他に原因があんじゃね?って話だよな
普通に考えるとBlt回数減らした方が早いと思うんだけど
270 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/08(日) 16:46:24.33 ID:RMol3l5C
いや16x16のマップチップを画面左上から右下方向に順に画面全体に表示させるということをやっていて、
マップチップ画像全体を読み込んで表示位置をIDに従って切り替えるんじゃなくて
16x16毎に画像を切って読み込んだら早くなったっていうことなんだけど、
Blt回数減らせるかね?
271 :名前は開発中のものです。2011/05/08(日) 17:05:45.08 ID:zclMRG66
>>270
以前は一部だけ描画する関数を使ってたってこと?
それなら比較すれば早くなるだろうけど
272 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/08(日) 17:13:04.05 ID:RMol3l5C
>>271
マップチップ画像の事をマップ画像だと思ってる?
マップ画像は持ってなくて、マップチップ画像からチップIDに従って16x16を抜き出して適切な位置に表示してる
描画回数はどちらも(ウィンドウの幅/16)*(ウィンドウの高さ/16)回ですよ
275 :名前は開発中のものです。2011/05/08(日) 17:37:06.78 ID:6HW1OX7i
マップチップ画像をLoadDivGraphで分割読み込みすればDrawRectGraphより速くない?
あ、でもマップチップ画像が2のn乗サイズじゃないと重いかも
マップチップ画像のサイズは幅・高さ何?
276 :名前は開発中のものです。2011/05/08(日) 18:40:29.78 ID:4k77N9pL
大きな画像があってそれを分割転送してるのかと思って。マップ並べる話ね。ごめん
俺はLoadDivGraphだと元画像でチップの境目がわからなくなるので、
普通にLoadGraphしてDerivationGraphでチップに切り分けるLoad関数を作って使ってる
線引いて格子状にした上と横に番号振った画像用意すると、どこに何が割り当たってるのかわかりやすいので
277 :名前は開発中のものです。2011/05/08(日) 19:47:03.68 ID:0iFMBARD
格子&ナンバリングした画像を用意するのと、LoadDivGraph云々の関係が分からなかったorz
278 :名前は開発中のものです。2011/05/09(月) 03:05:02.19 ID:jLb61kJW
>>277
LoadDivGraphだけで画像分割ロードを一括して行なった場合
画像内全てに対して切り出しを行うから格子だのナンバリングだの落書きできるスペースがない
でもLoadGraphしてDerivationGraphした場合は好きな場所から切り出すことができるので
画像内に落書きしてあっても利用したい画像同士が離れていても問題ない
279 :名前は開発中のものです。2011/05/09(月) 08:00:21.68 ID:BAc8nyqH
この話ってすごく有益な情報じゃね?
なのにこんがらがってよくわからん…
280 :名前は開発中のものです。2011/05/09(月) 10:49:02.99 ID:cCCnXiw+
なんとなく分かったような分からんような。
画像を出してくれれば一発な気がする。
281 :名前は開発中のものです。2011/05/09(月) 18:24:49.96 ID:W/56kxUa
はい、こんなん
これの黒く塗りつぶされた所を32*32で切り出すのはLoadDivGraphじゃ出来ない
ttp://gmdev.xrea.jp/st/up/270.png
286 :2802011/05/09(月) 20:00:02.26 ID:cCCnXiw+
画像の方にばかり意識が集中してて、
元々の話題がコードを修正したら速くなったって話だったのを忘れてたぜ!

>>281
なるほど、実際に使う機会があるかどうかは別として
確かにLoadDivGraphじゃ難しいな。
301 :名前は開発中のものです。2011/05/12(木) 04:24:06.32 ID:9ismkLgR
言いたいことが何となく分かった
LoadDivGraphだと分けたい画像を同じ大きさの奴を左上からびちっと並べなければならないのを
DerivationGraphだと好きな所切り分けられるから例えば>>281のように分割対象の画像を作れるような自由度があるってわけか
282 :名前は開発中のものです。2011/05/09(月) 18:31:07.26 ID:QRzj4t2Z
最初っから言ってることは理解できるけど、
それをやる意味が理解できない。

配布するときは画像差し替えるのか?
面倒だし意味なくね。
283 :名前は開発中のものです。2011/05/09(月) 18:36:42.25 ID:5OamKCzT
改善前と改善後のコード貼ってくれよもう
お前の脳内を知ってること前提で話しててわけわからん
284 :名前は開発中のものです。2011/05/09(月) 18:41:40.67 ID:nBnRiOww
たぶん、本人の糞コードが一部書き直したら改善されたんだが
本人はなぜ改善されたのかを誤った解釈をしている、というパターン
有益な知見は含んでいそうにない
287 :名前は開発中のものです。2011/05/09(月) 20:17:17.03 ID:ySCJuBxg
ペイントツールのレイヤーで対応できることだな
素材レイヤーだけを出力するだけだし
288 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/09(月) 21:39:19.39 ID:wT+RcLKY
こんだけ説明してんのになんでわかんないんだよ馬鹿か。
読み込む画像サイズが小さい方が高速化するからもともと256x2560(適当)とかのサイズのマップチップ画像を
16x16の小さい画像にプログラム内部で切って分割して読み込んだら早くなったってことだろうがよ。
あと俺はBlt回数減らせるかね?と質問してるわけだが答えてないよね。
289 :名前は開発中のものです。2011/05/09(月) 21:45:23.74 ID:aNjjzIs9
min(縦幅, 横幅)を超えない最大の2のn乗サイズの正方形を使えばちょうどいいんじゃないかな
291 :名前は開発中のものです。2011/05/09(月) 22:05:01.12 ID:5OamKCzT
Bltとか言ってるのに内部でどういう処理してるのかわかってないように思える
「大きいサイズのマップチップ画像を読み込んでた」のと
「16x16の小さい画像にプログラム内部で切って分割して読み込んだ」っていうのが具体的にどんな処理の違いなのか、
抽象的というか>288の脳内でのみの定義を前提にしてるから理解しにくいんだよ

ちなみにブリットに関しては何も変わらない というかこの場合全く関係ないし

正直串の人は頭良く見られてたい馬鹿にしか見えないにゃー やきとりもぐもぐ
292 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/09(月) 22:23:27.58 ID:wT+RcLKY
あっそ。俺の問題は解決したからもうどうでもいい。
情報を提供したところで俺には何のメリットもないし。
293 :名前は開発中のものです。2011/05/09(月) 22:26:21.91 ID:4KKSHyv9
DXLIBはもう覚えてないけどたしか配列にして画像ロードするやつでしょ?

uv座標の計算をあらかじめしておくだけで画像は分割しないと思うよ。
同じ画像を繰り返し描画(描画時にUV座標で一部を切り出す)をするのが
drawIndexedPrimitive()で速いんだから。
294 :名前は開発中のものです。2011/05/09(月) 22:29:13.88 ID:aBBSVPJM
正直、全然意味がわからん

1チップが64*64ピクセルで、512*512ピクセルのBMPファイルに8*8チップ分描いた場合、
通常は
「64*64を1チップとして切り出し、ハンドルを64(8*8)個作成する」
が、
「1チップをさらに16分割(4*4)し、ハンドルを1024個(32*32)作成する。描画時は16チップを一まとめに扱う」
ってことか?
295 :名前は開発中のものです。2011/05/10(火) 02:52:47.39 ID:4bIfXYea
公式で高速化のことどっかで見たなと思ったら過去ログにあった、No.4の下のほう
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1162
これ見る限りだとでかい画像にチップを全部書き込んでLoadDivGraphなり
DerivationGraphなりで分割使用した方が速いはず
297 :名前は開発中のものです。2011/05/10(火) 15:30:17.54 ID:wvFcG6sH
ソースコードがわからないから
なんとも言えない
が正解
299 :名前は開発中のものです。2011/05/10(火) 19:44:50.74 ID:CAnL1IGT
あー、ソース見てみたいね
処理時間比較の結果とかも見たい
300 :名前は開発中のものです。2011/05/10(火) 20:54:36.44 ID:NzTg44Yk
ソースみなくてもDirect3Dの仕組みから見当つくだろ
内部がDirectX9なら
303 :名前は開発中のものです。2011/05/12(木) 17:51:39.48 ID:aA8kBK8W
描画時に好きなところ切り分けられるってことは
描画時にUV座標の計算をしているってこと。

画像ロードしたときにUV座標の計算して固定したほうが
割り算いくつか分だけCPUが効率的だけど高速化といえる程ではない。
304 :名前は開発中のものです。2011/05/12(木) 18:07:21.05 ID:VewEJgOZ
おまえら何が言いたいんだ?
話題が一本筋通ってそうで良く見えないんだが
305 :名前は開発中のものです。2011/05/12(木) 18:09:12.67 ID:4jV7SNpd
細かいことよりまずはゲームを完成させるのが一番大切ってこった
306 :名前は開発中のものです。2011/05/12(木) 18:59:04.32 ID:h1fj69SE
>281のような画像に対応したLoadDivGraph()を作ってみようかな。
使う機会は今のところないけど…
307 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/12(木) 21:22:25.30 ID:HMGMrDcR
ハードウェア的に高速化するって言ってるのにCPUがどうとか言って全然理解して無いじゃん
そもそもLoadDivGraphとかDerivationGraphとか俺は言い出してないし。言い出した奴に聞けよ
309 :名前は開発中のものです。2011/05/12(木) 22:07:31.47 ID:4jV7SNpd
串くんの話題と画像の格子とかの話題と2つ同時に進行してたしね
どっちも画像分割っていう共通ワードがあったからこんがらがりそうだけど
310 :名前は開発中のものです。2011/05/12(木) 22:36:01.96 ID:aA8kBK8W
串くんて何って思ったけど今ようやくわかった。

おい串やろう!

俺は画像の格子の方にレスしてたんだよ。
お前の画像のサイズだがMSDNによるとD3Dでは
256x256 or 512x512に最適化されてるらしいぞ。
わかったらキンタマに串刺して寝ろ。
311 :名前は開発中のものです。2011/05/12(木) 22:56:57.91 ID:aA8kBK8W
>こんだけ説明してんのになんでわかんないんだよ馬鹿か。
>読み込む画像サイズが小さい方が高速化するからもともと256x2560(適当)とかのサイズのマップチップ画像を
>16x16の小さい画像にプログラム内部で切って分割して読み込んだら早くなったってことだろうがよ。
>あと俺はBlt回数減らせるかね?と質問してるわけだが答えてないよね。

D3Dでテクスチャを生成するにあたり2の乗数で正方形であることが望ましい。
またビデオカードが高性能であってもD3D9ではテクスチャサイズは2048x2048
ぐらいが限界になっている。

憶測だが、おかしなサイズでテクスチャを生成すると
ビデオメモリではなくシステムメモリからテクスチャを
生成して遅くなると思う。
313 :名前は開発中のものです。2011/05/13(金) 00:19:05.91 ID:3+q6tBad
つーか、当たり前すぎて即レス付いてるじゃん。
512x512をLoadDivGraphで16x16分割で読み込むのと、
個別読込とで比べて結果とプログラムをアップロードした方が早い。
314 :名前は開発中のものです。2011/05/13(金) 22:05:51.65 ID:JXtDORBT
自分で場合分けして、どっちが早いか検証しない時点で
お脳の程度が知れるっちゅーことよ
317 :名前は開発中のものです。2011/05/14(土) 12:02:41.87 ID:j6rXrtuE
親切心で情報提供したつもりだったのかもしれないけど
指摘が無かったら誤った情報を発信してしまうところだったね

×同サイズの画像は一つの画像に並べてLoadDivGraphするより個別のファイルにして読み込んだほうが描画が速い

○同サイズの画像は一つの画像に並べてLoadDivGraphしたほうが個別のファイルにして読み込むより描画が速い
318 :名前は開発中のものです。2011/05/14(土) 12:21:53.76 ID:5A5xZr5h
DirectXでの質問です
通常、ビュー変換を行うと視点の中心がそのまま画面の中心になると思うんですけど
視点の中心を左にずらし、周辺視野部分を画面の中心に持ってきたいんですけど
どうしたらいいのでしょうか
ワールド座標系で変換しても上手くいきません
ビューポートの矩形領域を横に広げてウィンドウ上の描写位置を左にずらすという方法も考えたのですが
そうすると他の問題が出てきてしまい上手くいきませんでした
321 :名前は開発中のものです。2011/05/14(土) 14:37:43.49 ID:Xyu583QP
>>318
マルチポストするような人には答えません
322 :名前は開発中のものです。2011/05/14(土) 16:31:49.46 ID:5A5xZr5h
>>321
あなたはどっちにしろ答える気は無かったでしょう?
或いは答えられなかったか
319 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/14(土) 12:41:48.06 ID:yL5+7HbV
個別のファイルにして読み込むとか誰が言ってんだよ
俺はこうとしか言ってないし
>16x16の小さい画像にプログラム内部で切って分割して読み込んだら早くなったってことだろうがよ。
320 :名前は開発中のものです。2011/05/14(土) 13:20:10.45 ID:j6rXrtuE
ああ、288でそう言ってるね
261や270の説明だといまいちどっちなのか分からなかった
まあ、プログラム内部で切る手段がDerivationGraph以外にもあるから288も誤解を招く可能性はあるけど
323 :名前は開発中のものです。2011/05/14(土) 16:56:46.39 ID:HWdXdTHv
やっぱりマルチポストするやつって精神的におかしいんだな。
324 :名前は開発中のものです。2011/05/14(土) 17:19:06.25 ID:cLXZD6OB
マルチポストするやつは掲示板の先にほかの「人」がいるって考えがないからね。
認識的には「便利な道具」。
まぁ、それも間違いじゃないんだけどさ。
325 :名前は開発中のものです。2011/05/14(土) 17:58:27.34 ID:5A5xZr5h
>>324
じゃあどうすればよかったんですか?
以前に書いたスレは過疎スレだったのでこっちに書き直したんですけど
これって変な事なんですか?
329 :名前は開発中のものです。2011/05/14(土) 18:41:30.60 ID:pIszQFmc
>>325
過疎っていたのでこちらで聞きたいんだけどって付け加えればいい
問題の解決方法を聞くときには状況だけじゃなく経緯を説明したほうが何かと捗るぞ
330 :名前は開発中のものです。2011/05/14(土) 18:43:26.84 ID:cLXZD6OB
>>325
書き直す際にどのスレに移動するか明記しておけば
そのスレでの質問を〆たことにもなるし、知ってる人がその書き込みを見たときに
移動先で返事をしてくれることもある。

そうすればマルチポストじゃなく趣旨に合うスレに移動したって伝わるし
書き込んだ全部のスレを自分で見て回る手間も省ける。
当然マルチポストが嫌いな人への心証も壊すことがないんで
より回答を得やすくなるよ。
333 :名前は開発中のものです。2011/05/14(土) 19:34:24.02 ID:Dge/y5on
>>325
どうすればよかったのかちゃんと聞いたことをオレは評価する
327 :名前は開発中のものです。2011/05/14(土) 18:14:10.19 ID:xHYH5vYU
ゲ作製板のDirectXスレは昔はあったが今は存在しない。
そういう話題をたずねたいなら

http://hibari.2ch.net/test/read.cgi/tech/1298067098/
ここにでも行ってみな。
334 :名前は開発中のものです。2011/05/14(土) 19:41:44.05 ID:5A5xZr5h
なるほど、必要な一言があったわけですか

>>327-330
すみませんでした
以後気をつけます
335 :名前は開発中のものです。2011/05/14(土) 22:59:25.65 ID:LbEJnxKT
甘いぜてめーら!

>>334
ちょらぁーーー!!1
もっともっと反省しる!

ふぅ……ちょ〜気持ちいい〜♪
336 :名前は開発中のものです。2011/05/14(土) 23:33:16.15 ID:7PaxWbCQ
すいませんみなさん、
>>335には俺がきっついお仕置きしときます
主にアナルに
337 :名前は開発中のものです。2011/05/16(月) 21:28:02.34 ID:oqSb1uU0
>>334
まだ見てるか分からないけど
中心を左にずらすってことは、カメラを右に平行移動したい
という解釈であってる?

であれば

float fov = D3DX_PI / 4.0f;
float height = 480.0f; //描画する矩形の高さ
float X = 100.0f; //これがカメラの移動量
D3DXVECTOR3 vEyePt = D3DXVECTOR3( X, 0.0f, (height / -2.0f) / tan(fov / 2.0f) ); //カメラの位置
D3DXVECTOR3 vLookatPt = D3DXVECTOR3( X, 0.0f, 0.0f ); //カメラが映している位置
D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
D3DXMATRIX matView;
D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec ); //またはD3DXMatrixLookAtRH()
LPD3D9Divece->SetTransform( D3DTS_VIEW, &matView );

これで左にずれてレンダリングされるはず
カメラを平行移動させる時は注視点を連動させる
328 :名前は開発中のものです。2011/05/14(土) 18:34:12.15 ID:y0FBUKTH
別のところで質問してきます、って書けばいい。
質問スレよくある展開だよ。
「誘導されてきました」ってのもよく見るね。
331 :名前は開発中のものです。2011/05/14(土) 18:49:46.26 ID:HWdXdTHv
最初のスレでは「レス付かないので○○で質問します。ありがとうございました。」
新しいスレでは「○○で質問しましたが、レスがつかなかったのでこちらで質問させていただきます。」
これならまず怒られない。

常識的に物事を考えられない年齢で知らない人に質問なんてするもんじゃないよ。
小学校や親から何を教わってきたのか…。
341 :名前は開発中のものです。2011/05/26(木) 23:00:38.73 ID:xUOkZxuC
なに意味不明なことを。
たいてい配布されてるDLLにはバージョン返す関数が用意されてるだろ。
342 :名前は開発中のものです。2011/05/27(金) 02:23:25.26 ID:WZ4EJwBd
マス目のゲーム戦闘画面ってDXライブラリで製作出来ます?
マップに座標を打ち込みつつ初期化
{0,0,0}
{0,1,1}の様な形。
for文でマップのマス目左上からズレていくように書き
switch文で case 0 は DrawGraph 画像 case 1 は 〜〜
の様にしてみたんですが、上手く表示されません・・・。
マス目ごとに対応した番号の画像を表示させるにはどのようにすれば宜しいでしょうか?
343 :名前は開発中のものです。2011/05/27(金) 03:23:35.98 ID:D2qC7dWI
プログラミング言語より
まず日本語ちゃんと使えるようになろうな
な!
てか、説明する気全然無いだろおまえ
344 :名前は開発中のものです。2011/05/27(金) 03:29:21.26 ID:50SAL2r9
case 0|case 1|case 2|
case 3|case 4|case 5|

みたいな感じに表示したいって事だろう?
caseで上手く行かないっていうのはどういう風に上手く行かないか書かないとわからんな。画像が映らないとか
346 :名前は開発中のものです。2011/05/27(金) 04:14:51.06 ID:WZ4EJwBd
すみません;
文字制限があって削ってたら訳分からん文章に・・

ちょっと連投してソースコード貼りますがお許し下さい
include "DxLib.h"

#define MAP_SIZE 64 // マップチップ一つのドットサイズ

#define MAP_WIDTH 4 // マップの幅
#define MAP_HEIGHT 4 // マップの縦長さ

本当はもっと大きいですがあくまで一例としてお願いします
348 :名前は開発中のものです。2011/05/27(金) 04:33:13.88 ID:3kRTf3YP
SetGraphMode( 640 , 480 , 32 ) ;
if( DxLib_Init() == -1 )// DXライブラリ初期化処理
{
return -1;// エラーが起きたら直ちに終了
}

int i, j;

// マップを描く
for( i = 0 ; i < MAP_HEIGHT ; i ++ )
{
for( j = 0 ; j < MAP_WIDTH ; j ++ )
{

switch(MapData[ i ][ j ] )
{
case BLACK : DrawGraph("画像/サンプル1.bmp"); break;
349 :名前は開発中のものです。2011/05/27(金) 04:38:46.80 ID:3kRTf3YP
case White : DrawGraph("画像/サンプル2.bmp"); break;
}
}
}

// キー入力待ち
WaitKey() ;

DxLib_End() ;// DXライブラリ使用の終了処理

return 0 ;// ソフトの終了
}
以上。投稿してから気付いた。White本当は全部大文字です。あぁしまった。画像ロード書き忘れてら・・・。
350 :名前は開発中のものです。2011/05/27(金) 04:43:40.52 ID:3kRTf3YP
void load(){
LoadGraph("画像/サンプル1.bmp");
LoadGraph("画像/サンプル2.bmp");
}
↑がWinMainの上にあります。
エラーは画像描画の行で関数に一個の引数を指定できません。でした
時間やばいので寝ます。
スレ騒がせてしまって申し訳御座いません。
352 :名前は開発中のものです。2011/05/27(金) 04:47:42.79 ID:50SAL2r9
int DrawGraph( int x, int y, int GrHandle, int TransFlag ) ;

この4つをちゃんと与えてないとかいうエラーだったら殴るぞ
356 :名前は開発中のものです。2011/05/27(金) 14:45:00.98 ID:3kRTf3YP
皆様の優しさに泣いた
しねぼけかすとか言われるかと思ってたら・・・。
バイト終わったらアドバイス通りに色々試してみます。
357 :名前は開発中のものです。2011/05/27(金) 17:17:06.76 ID:U7rPxdQ1
DxLibはDirectXでの描画を簡単にしてくれてるだけだから描画に関することしか制約はないと思います。
例えばアンチエイリアスとかエフェクトとかそういう描画関係での制約はあったりなかったり…。
制約あっても管理人さんに頼めば実装してくれる場合もあり。

というかシステム的な面はC言語,C++,C#でできるかって話だから基本的にはできないものはないと思っていいかと。


ここからは質問について。
まず、1枚の画像を分割して配列に入れられる関数があります。詳細はリファレンス読んでください。
int LoadDivGraph( char *FileName , int AllNum , int XNum , int YNum , int XSize , int YSize , int *HandleBuf ) ;
これを使って読み込むと、例えば配列の中身に{土、草、木、海}と画像(マップチップ)を入れられるって感じです。
仮にこの配列の名前をChipImgとしておきます。

で、マップを書くときのfor文を以下のようにすれば希望の動作になると思います。
かなり基礎的なことなので検索すればどこにでも書いてあります。
ただ、そのままコピペするのではなくちゃんと理解してください。難しいことは何もしてないです。
細かいところ間違ってたら申し訳ない。

// マップを描く
for( i = 0 ; i < MAP_HEIGHT ; i ++ ) {
    for( j = 0 ; j < MAP_WIDTH ; j ++ ) {
        DrawGraph(j*MAP_SIZE, i*MAP_SIZE, ChipImg[MapData[j][i]], false);
    }
}
359 :名前は開発中のものです。2011/05/27(金) 20:03:23.02 ID:vGoJgMZu
更新スレの一つでいつも見てるよ
最近スレとまってたけど。
360 :名前は開発中のものです。2011/05/27(金) 22:16:46.35 ID:WZ4EJwBd
LoadGraph削除後
int GHandle1;
int GHandle2;

GHandle1 = LoadGraph("画像/サンプル1.bmp");
GHandle2 = LoadGraph("画像/サンプル2.bmp");

case BLACK : DrawGraph(i,j,GHandle1,TRUE); break;
case White : DrawGraph( i, j, GHandle2, TRUE); break;

にしてみましたが、エラーはありませんでしたがウインドウ真っ暗で画像表示せず・・・。
361 :名前は開発中のものです。2011/05/27(金) 22:19:13.81 ID:WZ4EJwBd
リビルドしてアプリ起動したら何故か左上のマスだけ、不鮮明ながら画像が表示されてました。不思議。

今度は357さんの案を内容を理解するため勉強しつつ試してきます。
362 :名前は開発中のものです。2011/05/27(金) 22:25:25.03 ID:0YaXlE0u
マップチップを1ドットずつずらして描画してどうするつもりだ
363 :名前は開発中のものです。2011/05/27(金) 23:03:20.50 ID:WZ4EJwBd
DrawGraph(i*MAP_SIZE,j*MAP_SIZE
に変更する事で無事表示する事が出来ました!
ただ、デバックなしで開始しても何も表示されないのが少し気になりますが。

取り敢えず解決してしまいました。
本当に有難う御座いました!m(_ _)m
364 :名前は開発中のものです。2011/05/27(金) 23:31:21.01 ID:Y/qWs5Tm
デバックなしってどういう意味だ?
ひょっとしてリリースの方でコンパイルして実行してるけど
リリースの方のフォルダに画像を用意してないとか?
365 :名前は開発中のものです。2011/05/28(土) 00:31:51.61 ID:QOypFlPY
いえ、リリースにも画像フォルダ用意しリリースにもアプリ製作しました。
が、アプリ起動すると表示される画像が Ctrl+f5 で立ち上げたウインドウには表示されないのですよね。

VC++2008を使用しています。
一応アプリケーションは正常に動いているのであんまり気には掛けていないのですが、何かおかしいのでしょうか・・・。
366 :名前は開発中のものです。2011/05/28(土) 00:36:28.60 ID:A1uOHhrw
DXライブラリの使い方というかVCやC++の使い方のレベルじゃないか
リリース側の実行ファイルから画像までのパスがまともに取れてないとしかまず考えられない
問診して説明するよりプロジェクト入ってるフォルダごとアップしてもらった方が説明しやすいかもしれない…
368 :名前は開発中のものです。2011/05/28(土) 00:54:12.30 ID:QOypFlPY
>>366
すみません、確かにスレチでした。
当方C言語しか学習してなかったのでVCかC++の板に行ってみます。
失礼しましたm(_ _)m
367 : [―{}@{}@{}-] 名前は開発中のものです。2011/05/28(土) 00:38:26.17 ID:3Cuv9gZ3
LoadGraphに成功してるかエラーチェック入れろよ
370 :名前は開発中のものです。2011/05/28(土) 00:59:56.21 ID:A1uOHhrw
>>368
だがC++やVCの板でもDXライブラリの関数なんか知らねえよとか言われそうではあるので
>>367の言う通り
GHandle1 = LoadGraph("画像/サンプル1.bmp");

if( GHandle1 = LoadGraph("画像パス") )
{MessageBox(NULL,TEXT("エラー"),TEXT("画像のパス合ってない"),MB_OK);}
に差し替えてリリース側でエラーチェック試してみようか
これでアラート出たら絶対それ画像置く場所悪いから
369 :名前は開発中のものです。2011/05/28(土) 00:59:23.12 ID:otWxclch
DxLibと言うよりは確かにC言語初心者スレとかの方がいいかもね。
後はキッチリやさしい本を読むといいよ。
「やさしいJava」のC言語版的なもの。
371 :名前は開発中のものです。2011/05/28(土) 01:03:19.25 ID:A1uOHhrw
if( GHandle1 = LoadGraph("画像パス") )じゃなくて
if( GHandle1 = LoadGraph("画像パス")==-1 )だったごめんよ
LoadGraphの返り値調べてエラー確認するんだ
373 :名前は開発中のものです。2011/05/28(土) 01:14:57.63 ID:QOypFlPY
あぁ、なるほど。
DebugとRelaeseフォルダにだけそれぞれ画像フォルダを置いていたのが間違ってました。
↑二つが入ってるフォルダに入れておかないと駄目だったんですね・・・。
ほんとに初歩的な間違いでスレ汚してしまって申し訳なかったです;
解決しました。感謝
374 :名前は開発中のものです。2011/05/28(土) 05:53:10.67 ID:bOluCu1Z
それはVSの都合なのかな?
Releaseのを直接起動した場合Releaseフォルダ内にないと動かないよね
375 :名前は開発中のものです。2011/05/28(土) 06:20:40.88 ID:W6UqZw/P
えーとこういうことなのか LoadGraph("Data\HogeHoge.bmp",〜);

HogeHoge\Data\HogeHoge.bmp ... ←コレを読み込みたい
HogeHoge\Release\HogeHoge.exe ←VSは実行ファイルをココに作る
HogeHoge\HogeHoge.cpp ソース
HogeHoge\ ←VSは実行ファイルを起動するときココを実行ディレクトリに設定する

それなら直接起動するときは実行ファイルをココに移動/コピーして起動してやれば良い…?のでは
HogeHoge\HogeHoge.exe ←ココにコピー
ビルド後イベントコマンドで cp もにゃもにゃと設定してやれば一応自動化できそ
376 :名前は開発中のものです。2011/05/28(土) 07:30:43.55 ID:L9srxxo1
実行ファイルも同じフォルダに出力するようにして名前だけ変えるで区別とかして
デバッグの作業ディレクトリも同じにすりゃいいだけ。
377 :3732011/05/29(日) 00:44:52.38 ID:BFzS8fGx
またまたお世話になります。
と言っても今回はDXライブラリが絡むか自信が無いため、まずその段階からですが・・。
よくRPGなどの戦闘画面で、斜め上から見下ろした形になっているゲームが多いと思いますが、その表示方法についての質問です。
前に書いた様な座標型マップ表示で出来るものなのでしょうか?
(絵を斜めっぽく工夫して描けば行ける・・・?)

それとも座標自体を特殊な表記にしないと駄目でしょうか・・。
2Dの範囲内で実現可能という事は分かってるのですが、あちらこちら探しても中々答えが見つからずorz
382 :名前は開発中のものです。2011/05/29(日) 01:06:29.02 ID:3O+AM5oo
>>377

座標自体は同じだ。表示が違うだけだ。

【01】【02】【03】
【11】【12】【13】
【21】【22】【23】



    【01】【02】【03】
  【11】【12】【13】
【21】【22】【23】

って表示するだけの話だ。
379 :名前は開発中のものです。2011/05/29(日) 00:59:05.68 ID:7hhk2TqC
基本的には描画の方法が違うだけ。マップデータ自体はそのまま流用できると思うよ。

ただし、クォータービューのマップチップは、
トップビューに比べてマップチップの縦幅が狭くなる(半分くらい)になってしまうので、
常に奥から描画するようにしないと、キャラが首チョンパ状態になったりするので注意。

     ○ 
   <大>  単独だときちんと人間が表示されるが

    ↓

   ○   ○
 <大><大>  上方向に重なるとマミっちゃう
   <大>
383 :3732011/05/29(日) 01:07:48.70 ID:BFzS8fGx
>>379
おぉ!
とても分かり易いお答え感謝致します!
取り敢えず素材は後回しでプログラムから頑張っているので、素材描く時参考にさせて頂きます。

有難ですm(_ _)m
385 :名前は開発中のものです。2011/05/29(日) 01:25:46.31 ID:q0IokeyY
>>379を解決する為に描画順を動的に変更するのって面倒だよね
「描画は後でまとめて行え」っての守って書いてればどうすればいいかすぐ気付けるけど
380 :名前は開発中のものです。2011/05/29(日) 01:05:47.56 ID:lpI500pO
菱形の画像をうまく並べるだけさー
各マスの位置をベクタ的に回転させると楽
384 :3732011/05/29(日) 01:12:53.32 ID:BFzS8fGx
>>380-382
おおぉ、なるほど。
382さんの方法で表示させ、絵の描き方を工夫し、上手く調整する方向で頑張ってみたいと思います。

有難う御座いました!
381 :名前は開発中のものです。2011/05/29(日) 01:06:00.84 ID:zv9XeXX/
iが増えたら右下に(x,yそれぞれ増やす)
jが増えたら左下に(x減らしてy増やす)
とかすりゃいいじゃん
387 :名前は開発中のものです。2011/05/29(日) 14:02:49.02 ID:q0IokeyY
DXライブラリのリファレンス以上のまとめって何を記載すべきなんだろう?
389 :名前は開発中のものです。2011/05/29(日) 17:00:53.75 ID:C/fROn6+
使用例をまとめたWikiってことか?
公式はあくまで一つ一つの材料紹介って感じだしレシピを纏めるってのなら割と需要あるかもね

場所なら一応用意できるが・・・作るか?
390 :名前は開発中のものです。2011/05/29(日) 17:14:40.21 ID:Jt9bC4pv
まずDxLibは描画などの面倒くさいことを簡単にしてくれるだけであって、
本質的なシステム面のプログラムは一切関係ないのだからこのスレには不必要。
検索すればいくらでも使用例は出てくる。

DxLibの関数の使用例は公式+検索で十分。
392 :名前は開発中のものです。2011/05/29(日) 17:26:55.71 ID:aRTkAIlD
>>390
まあスレチかもしれんけど
DXlib用のフレームワークは欲しい人多いんじゃない?
フレームワークとDirectXのラッパーが全く無関係ってこともないし
全力で否定せんでもいいでしょw

やるなら自分も協力するけど、スレは立てるか
他に引っ越すかがいいかもね
391 :名前は開発中のものです。2011/05/29(日) 17:24:53.75 ID:lMCwYIZL
質問、回答をまとめるとか?
もう7スレ消化してるんだし結構な数になってそう
393 :名前は開発中のものです。2011/05/29(日) 17:29:03.70 ID:aRTkAIlD
誰もフレームワークなんて言ってないねww
俺が先走りすぎたゴメンwww
394 :名前は開発中のものです。2011/05/29(日) 17:31:01.75 ID:w2kyF2Lr
なんだよ。
そこを突っ込もうと思ったら気づいたか
つまらん
395 :名前は開発中のものです。2011/05/29(日) 17:46:18.63 ID:1H9r7t0f
公式+検索で十分って言うけど、公式が見やすいとも使いやすいとも思えないし
掲示板の情報は要約されてないからwiki設置に賛成
396 :名前は開発中のものです。2011/05/29(日) 18:18:24.28 ID:2Gv3r3Gp
下手に使用例を充実させると
今まで以上に初心者のコピペプログラミングが増えそうで
あんまりいい気がしないなぁ。
使用例を集約するにしても、一工夫あった方がいい気がする。

このスレに持ってこられる大きめの質問の大半は
動作の意図を理解しないで、サンプルのコピペで済ませようとした
コードのような印象がある。

本文長すぎるって言われたんで分割する。
397 :名前は開発中のものです。2011/05/29(日) 18:21:25.20 ID:2Gv3r3Gp
(続き)
きちんとそのコードが何を意味しているのか、とか
何と何と何の組み合わせによってその動作を実現しているか、とか
細かい解説が必要なんじゃないかな。


・・・初心者の成長とかどうでもよくて、テクニックの集約とか
そっち方面が目的なら、見当違いになるけどね。
398 :名前は開発中のものです。2011/05/29(日) 18:46:02.07 ID:eKvKmzRn
別に誰かがコピペプログラミングとやらをしていても実害ないし
399 :名前は開発中のものです。2011/05/29(日) 19:15:04.05 ID:1H9r7t0f
解説つけるべきだというのはその通りだと思う
コードを理解する段階まで行ったときに、自分で思考するにしても解説あるのは勉強になるし有り難い

コピペで済ませる人は解説があろうが使用例が分散してようが「理解」しようとはしないから 考慮してもしょうがないのでは?
wikiにtips書く人に読者の勉強姿勢まで面倒みる責任はないよ 教師じゃないんだし
402 :名前は開発中のものです。2011/05/29(日) 20:00:53.18 ID:Jt9bC4pv
>>399
個人サイトに責任はないよ。
だから有志で何やっても勝手。

ただ、このスレの共有サイトとしてのWikiであれば、万人が納得するようにしなければならない。
だから中途半端に解説も無いものを置かれても困るんだよね。
こうやってどのスレも初心者の質問でスレが埋まるようになってしまうんだから。
400 :名前は開発中のものです。2011/05/29(日) 19:24:12.00 ID:7hhk2TqC
DXライブラリでWikiっていうと、前に一悶着あったような。
外部から俺らがごちゃごちゃ言ってただけというのが正しいか。
401 :名前は開発中のものです。2011/05/29(日) 19:25:03.97 ID:C/fROn6+
んじゃぁとりあえず場所用意するね
駄目なら駄目でその時はバッサリって感じで

少し時間くだしあ
403 :名前は開発中のものです。2011/05/29(日) 20:41:50.40 ID:1H9r7t0f
ごめんなさい、「考慮すべきでない」ってのは反論になってませんでした
初学者の学習に悪影響を及ぼすというのなら、注意文を記載しておくことでは解決しないかな?
404 :名前は開発中のものです。2011/05/29(日) 20:47:08.70 ID:oEgrSQOL
2chを参考に勝手に立てたwikiであり、
このスレの住人は解説の義務を負っていないし、内容にも責任を負いませんよと明記すればいいんじゃないの

最近はwebで無料で閲覧した情報だのフリーソフトだのにも
執拗に責任を追及する変な奴が多くてダルいよな
405 :名前は開発中のものです。2011/05/31(火) 05:26:27.07 ID:cy94Irs8
使用例のまとめとかじゃなくて
あくまで「このスレのまとめサイト」とかだったら
諸手を挙げて賛成。
過去に出た話題とかおさらいできるし、あるとうれしい。
406 :名前は開発中のものです。2011/05/31(火) 23:42:40.66 ID:dUjeA77Z
欲を言うなら、ソースコードが載せやすいものがいいよね。
409 :4012011/06/03(金) 16:29:38.13 ID:mUEsLjLT
場所は確保したが色々立て込んじゃって、枠組み作成までもうちょい時間くだしあ
場所はWikiwikiにしました。わりとシンプルに使えるしそれなりに見た目も綺麗だからってのが理由です

>>407
そう言うのは一切入れてないから問題ないと思います
でもWiki側からデフォでついてる広告はどうしようも無いからそこら辺だけご容赦を

>>406
ソースコード貼付けはAA貼付けのタグ使えば綺麗に貼り付けれるようになります
そこら辺の説明含めて最初に書いておきます

あと内容に関してだけど
とりあえず2chで出た内容をまとめていったり、誰か気が向いた人が色々付け足していったり
とりあえず強制的なものは双方無いスタンスでやっていこうかと
407 :名前は開発中のものです。2011/06/03(金) 15:56:45.32 ID:Vun+HEBf
アフィとかはどうするんだ?
以前個人運営のまとめサイトがあったけどアフィ大量で叩かれてたじゃん
415 :名前は開発中のものです。2011/06/03(金) 23:25:34.33 ID:L3vY9uyq
>>407
アフィふざけんなって人と、いちいち気にすんなよって人と、
論争になって結局Wikiが消えるのが一番困るって人とが仲良く言い争ってた記憶がw
410 :名前は開発中のものです。2011/06/03(金) 17:08:47.72 ID:Mh8Nxp/7
場所用意するって自鯖じゃないんかい。
小学生の掲示板作った→レンタル掲示板みたいな流れだなww

前の流れだとテンプレ入れたらその時点でアウトなわけだけど、
作っても誰も見なきゃ意味ないぞ。

仮にどうしてもテンプレ入れるならdixq氏のサイトとかDxlibFunとか他有用なものと共にじゃないと不公平だしな。
まあ、それはそれでいいけど。
412 :名前は開発中のものです。2011/06/03(金) 20:05:00.12 ID:5A8y36w8
>>410
横からだけど、自鯖やレンタル鯖でやるほどのことか?
ありもので十分ならそれ使えば良いじゃん。
「他のサイトもテンプレに入れないと不公平」の意味もよく分からないが。

というか、どういうサイトを想定してる?
俺が想定してるのはcsharpgamedev wikiみたいな
2chのスレから派生した情報収集Wikiなんだけど。
この辺の認識があってないと、作った人も作ってもらった人も
不幸になりかねない気がする。

あと、「前の流れ」っていつごろの話だったっけ?
スレ番だけでも良いから教えてくれると嬉しい。
411 :名前は開発中のものです。2011/06/03(金) 17:18:37.76 ID:W2dHybpV
借りてるさくら鯖余ってるから提供できるならしたいけどどうすればいいのやらね
413 :名前は開発中のものです。2011/06/03(金) 20:11:38.85 ID:YDY6HFbE
wikiのトップとかに参考ページとか表記して、
公式や、龍神録の館とかのDXライブラリに関連した講座のあるサイトへのリンクを入れてやればいい
アフィ云々はこのサイトだけど、一応有用な小ネタとかもあるし一緒にリンクしてしまってもいいかもしれない
http://studiokingyo.fc2web.com/dxlib.html
414 :名前は開発中のものです。2011/06/03(金) 21:29:08.06 ID:HIEEQLaw
とりあえずゲーム製作技術板公式wikiを置いときますね
http://wiki.game-develop.com/

サーバ移転前に作ったページは消えちゃってるっぽいな
新規で作るか?
416 :名前は開発中のものです。2011/06/03(金) 23:33:45.95 ID:JJ8x9dYf
個人運営でまとめてるサイトのアフィを叩いてるのってただの嫉妬だろ、気にすることない
いちいち過去ログから探す手間が省けて有り難いし、アフィなんてその手間賃みたいなもんだろ
アフィ収入が羨ましいなら叩いてないで自分もまとめてみればいいのに
417 :名前は開発中のものです。2011/06/03(金) 23:47:30.80 ID:wUtKVv5F
ちゃんと整備されたまとめならアフィくらいいいけど
アフィをべたべた貼ってるまとめって、情報を整理するとか絶対ないんだよね
432 :名前は開発中のものです。2011/06/07(火) 23:40:10.54 ID:AJkSJL0u
>>417
そういうのは心配しなくても自然と誰も見なくなるだろ
433 :名前は開発中のものです。2011/06/08(水) 05:49:09.86 ID:N7Zs33m/
>>432
検索時にアフィべたべたのとこが上位独占はよくあること
418 :名前は開発中のものです。2011/06/04(土) 00:17:44.77 ID:ZmSZ/Vo4
普通に考えられる程度なら全然いいよ

ただコンテンツの最初最後じゃなくて
途中の中断に入れてくるタイプは正直かなり読み難い
421 :名前は開発中のものです。2011/06/04(土) 00:55:47.13 ID:Fd3wvUm3
wikiwikiのなら十分アリだと思うよ、邪魔じゃないし。
下手に個人鯖とかでアフィ見つけちゃうと嫌な論争になるしね
423 :名前は開発中のものです。2011/06/04(土) 17:13:47.03 ID:ihjROejl
かったああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ!!
427 :名前は開発中のものです。2011/06/05(日) 19:47:23.96 ID:cYf2cnq5
7zip解凍できるソフト教えてくれ
けっこう有名なソフトを使ってるつもりだったが無理だった
428 :名前は開発中のものです。2011/06/05(日) 19:51:00.20 ID:NQzUYsQr
Noahとか
429 :名前は開発中のものです。2011/06/05(日) 20:01:00.18 ID:cYf2cnq5
>>428
サンキュー
よく考えたらexeなんだからソフトが対応してなくてもよかったんだな
早とちりしたぜ
430 :名前は開発中のものです。2011/06/05(日) 20:37:11.70 ID:7sEL+FMh
DGCAの時みたいにSFX圧縮で何も無しに展開できる。
圧縮ファイルのサイズが11MB→5MBほどになっていた。
434 :名前は開発中のものです。2011/06/08(水) 17:03:38.16 ID:CJSxFU6G
苦労して直接DirectXで書いのになぜかDXライブラリで書いたプログラムの方が速く動く・・・
余分な処理してるってことかな・・・
435 :名前は開発中のものです。2011/06/08(水) 17:08:39.76 ID:g/ogwpor
なんだかんだ遅いと言われてるけど、一応面倒な最適化とかもちゃんとやってるしね
何もせずに直接走らせるより速いことも多い
436 :名前は開発中のものです。2011/06/08(水) 17:30:53.78 ID:CJSxFU6G
そうなんだ、初期化コードいっぱい書いたのに・・・
このままじゃゲーム部分までたどり着けない、ライブラリ再検討しよ。
437 :名前は開発中のものです。2011/06/08(水) 17:38:35.38 ID:lYlwYYKM
今のゲームPCで実際速さの違いがわかるようなプレイヤーがいるのかねえ
438 :名前は開発中のものです。2011/06/08(水) 17:40:55.75 ID:yuDH4YLK
DXライブラリがなくなったときのために
DirectXも少しずつ勉強してるけど、DXライブラリがある内はこれでいいわ
439 :名前は開発中のものです。2011/06/08(水) 17:43:09.21 ID:WE/y5LbW
俺はDXライブラリなしでは何も作れない無能者だから434がまぶしいぜ。

そんな俺が言うのはなんだが、434がやった事は決して無駄じゃないと思うぜ!
440 :名前は開発中のものです。2011/06/09(木) 22:36:07.45 ID:JfZ39Xp1
DXライブラリと同じ仕組みのソースなら
自力で書いたからって早くなるわけがない
442 :名前は開発中のものです。2011/06/10(金) 23:02:16.07 ID:/lsLuO/4
DXライブラリ始めたばかりなのですが、角が丸い四角形を描画する方法ってありませんか?
444 :名前は開発中のものです。2011/06/12(日) 14:12:23.89 ID:mPw+IlZ+
そういうDxLibの関数は、たしかなかったよね?
DrawBoxとDrawCircleでどうとでもなるだろうけど
445 :名前は開発中のものです。2011/06/12(日) 15:08:01.71 ID:nHfpiviw
今普通にあるんじゃね?と思ってヘッダさらっと見たけど、
角丸四角形を描画する関数は無かったな。
簡単に描画するならDrawBoxとDrawCircleだけど、
そもそもDraw系関数は糞思いから画像使ってなんとかしたほうが良いかと。
446 :名前は開発中のものです。2011/06/12(日) 18:22:30.26 ID:wZag4a4f
久しぶりに見たら
フォントビルボードとか多少機能が増えてるな
448 :名前は開発中のものです。2011/06/16(木) 18:29:47.37 ID:QTS2apvZ
文字にぼかしを入れたいんだが、どうやればいいんでしょうか?
450 :名前は開発中のものです。2011/06/17(金) 11:28:02.63 ID:nqpu4VYX
C#だとメモリ上でBitmap作ってGDIでエフェクトかけて文字書き出して
それをメモリからグラフィック作成で
似たようなこと出来るね

Cはしらね

451 :名前は開発中のものです。2011/06/17(金) 21:56:10.95 ID:Yo8wuE0b
RPGの攻撃のエフェクトってパラパラ漫画みたいに
複数の画像を次々に表示する以外に何か方法ありませんかね
452 :名前は開発中のものです。2011/06/17(金) 21:58:52.30 ID:7eK3LNzE
それ以外だったらリアルタイムにパーティクルを描画するしかないじゃないかな
454 :名前は開発中のものです。2011/06/17(金) 22:02:22.44 ID:7eK3LNzE
調べるほどのことじゃないけどな
パラパラ漫画にする代わりに、画像を拡大したり位置を変えたりしながら何枚か表示するだけ
素材用意できるならパラパラ漫画の方が楽
455 :名前は開発中のものです。2011/06/18(土) 00:56:12.89 ID:iCd9TgSp
3Dのエフェクトのモーションデータを再生とか?
よくわからないけど
456 :名前は開発中のものです。2011/06/18(土) 03:37:33.86 ID:aQHQ6jKF
バージョン3.05のソースファイルを今までの改造したコード付け足してビルドすると、
出来たlibを使う際にいろいろ未解決って言われる
要求されてるっぽいwinmm.libをリンクしても、今度は起動時に初期化に失敗してグラボがクラッシュする……

こういう場合でも公式に報告したほうがいいのかな
自分でもわけわかんないんだけど
457 :名前は開発中のものです。2011/06/18(土) 09:17:34.77 ID:By+QQmMh
>>456
わけわかってないこと報告したらだめでしょw
459 :名前は開発中のものです。2011/06/18(土) 10:44:09.93 ID:k8cmRNCd
>>456
さすがに自分で追加/修正したものを、公式に投げるのは辞めたほうがいいんじゃないかなあ。

そういう自分も、かなり昔に報告したことがあるんだけどね。
#defineの切り替えで、機能を削ってライブラリ軽量化できたりするわけだけど、
特定の組み合わせだとバグるとかそんなの。


472 :名前は開発中のものです。2011/06/20(月) 00:16:31.08 ID:dVR9UeT3
ユーザーがバグ修正のコード送ろうにも、バージョン管理システム使ってなかったらやりづらい
自分のところでも同じ部分を書き換えていたら、両方の変更を失わないようにするのが難しいし

>>459
色いろ問題あるよね、今でも

・Theora使う機能オフにしてビルドしようとすると、
#ifndefの使う場所が間違っているところがあるみたいで
無しだとビルドできない

・libpngは仕様変更のせいで1.5系ではビルドできない 1.4系は可

・デフォルトだと、
DxLib.hに#pragmaでリンクするライブラリを指定するようになっているけど、これやだ
ライブラリの名前が1つでも変わると、全てビルドし直しになる
(最新版だと名前が違っているから、自前でビルドするには全部変えないといけないや)
面倒でもプロジェクトの設定でやった方がいい希ガス


・あと、1998年からlibjpegは更新されていないって書いてるけど、最近も更新あったよ
475 :名前は開発中のものです。2011/06/20(月) 04:41:56.67 ID:KjWz6tWC
>>472
何か自分の言葉じゃないよね
本の受け売りか、学校の先生が言ってたそのまんまって感じ
458 :名前は開発中のものです。2011/06/18(土) 10:40:29.95 ID:rMwu9JP4
VC10でDXライブラリを公開されているソース玉からビルドしてみたら
ものすごく重い(時間がかかる)ので驚いた
461 : [―{}@{}@{}-] 名前は開発中のものです。2011/06/18(土) 18:10:37.94 ID:ZJC52IVp
リソースのイメージファイルからLoadSoftImageしたいんですがどうしたらいいですか
462 :名前は開発中のものです。2011/06/18(土) 20:58:21.99 ID:3Js3NYkx
相変わらず串は無能だな
向いてないからやめたほうがいいよ
463 : [―{}@{}@{}-] 名前は開発中のものです。2011/06/18(土) 22:45:04.29 ID:ZJC52IVp
LoadSoftImage(MAKEINTRESOURCE(id))では駄目みたいだし、
LoadGraphToResource(id)の結果をソフトイメージに変換とかできないのかな。
うーむ
465 :名前は開発中のものです。2011/06/19(日) 13:11:47.59 ID:t6jVwtLr
>>463
GetResourceInfoとLoadSoftImageToMem使えばいける
464 :名前は開発中のものです。2011/06/19(日) 02:49:02.33 ID:3bU7kJrY
久しぶりに公式HP見て来たんですけど、なんだかバリエーションが変わってますね。

VisualC++用(Ver3.05)
BorlandC++用(Ver3.05)
Gnu C++用(Ver3.05)

の3つになってましたね。

GNU C++用が出来ている辺りがなんか進化してる感がありますが、気になる点が。

以前はVC++用と言っても2011用、2008用、visual studio .net 2003用とか色々ありましたよね?

これからはどの環境でもVisualC++用だけでおkという事なのでしょうか?

なんか公式の掲示板斜め読みしたら、2008だとどうとか、問題があったとか書き込みが見えましたが、基本的に大丈夫なんでしょうか??
466 :名前は開発中のものです。2011/06/19(日) 21:19:02.25 ID:ZW4XNOLN
>>464
まじかよ!
おれのC#版は、まだ正式バリエーションには入れてもらえないんだな。
467 :名前は開発中のものです。2011/06/19(日) 22:02:26.65 ID:Mk/qPjyt
DrawPolygonIndexed3Dで作った1×1×1の立方体を平面に
隙間なく10×10ほど並べると、カメラの角度によって
隙間があるように見えるんだが
原因か対策方法をおしえてくれないだろうか?
468 :名前は開発中のものです。2011/06/19(日) 22:44:31.63 ID:PZJsywLa
ソースコードをSubversionか何かのリポジトリに置いてくれよう
何で置かないの?
469 :名前は開発中のものです。2011/06/19(日) 23:19:21.65 ID:pgHC00Et
メインループでない他の関数から
終了処理を呼び出すとエラーが出ます
例えばキーの情報をまとめた関数のESCを押したときの終了処理などで起こります
どうしたらいいでしょう?
471 :名前は開発中のものです。2011/06/19(日) 23:24:59.76 ID:QvQuYc5r
>>497
アンチエイリアスかけるしかないかと。
例えばDS市販ソフトの立体ピクロス等でもそういう現象は起こる。

>>469
エラー内容コピペしてみたら?
そんなこと起こらないと思うけど…。
まさか別ファイルにしていてdxlib.hをインクルードし忘れてるなんてことはないよね。
474 :名前は開発中のものです。2011/06/20(月) 00:28:10.70 ID:aBzdnlNy
>>470
その方法を試してみます
>>471
例のESCキーを押して実行窓は閉じれるのですが、
プロセス自体の終了ができていなく、タスクマネージャから消している状況です
dxlib.hはインクルードしています
476 :名前は開発中のものです。2011/06/20(月) 21:36:16.92 ID:z8kdzva4
>>474
もしかして DxLib_End(); でプロセスも終了してくれると思ってない?
メイン関数で終了するときに、 DxLib_End(); でDxlib周りの終了処理をして、
そのあとにメイン関数に return 0; で0を返してプログラムを終了してるわけ。

ということはメイン関数以外から直接は終了できないんじゃないかと思うよね。
それでは色々と面倒ということで stdlib.h に void exit(int status); という関数が用意されてる。
これはメイン関数に引数で渡した値を返す動作なので、 exit(0); としてやればよいということになる。

もし、 exit(0); でエラーが出るという話ならどういうエラーなのか書くこと。
478 :4672011/06/21(火) 19:29:12.62 ID:63a9Z6UZ
>>471
アドバイスありがとん
DXライブラリでアンチエイリアスの指定ってできたっけ?

まぁ、色々いじって、解決させたので方法書いておきます
・SetCameraNearFarで手前クリップ位置を遠くしてみる
これでだいぶ軽減できました。でも見えるときは見える

・くっついた位置に描画されるポリゴンを描画しない
ブロック同士の境目のポリゴンを消しとけば、隙間なくうまってるように見える。
要するに何らかの加減で、縦方向のポリゴンの一部が見えてるってことらしい。
470 :名前は開発中のものです。2011/06/19(日) 23:22:55.29 ID:XBsYSDqg
他の関数では終了フラグをONさせるだけで、
終了処理はメインループでやればいい。
473 :名前は開発中のものです。2011/06/20(月) 00:24:37.41 ID:ywcJPOE0
俺の場合は本家のコードに付け足すコードをインクルードしてビルドしてるだけだったなー
挙動を書き換えた別バージョンの関数を追加、って感じで
477 :名前は開発中のものです。2011/06/21(火) 03:54:32.19 ID:Yq97GP/u
470のやり方を基本としておさえておいたほうがいいと思うぞ
479 :名前は開発中のものです。2011/06/23(木) 16:57:31.52 ID:fyYcjHqX
LoadSoundMem 使うと、読み込むファイルの倍近くメモリ食うんだけどこんなもん?
480 :名前は開発中のものです。2011/06/23(木) 17:32:53.79 ID:QnDjyPpc
読み込んでるのが圧縮ファイルなら
SetCreateSoundDataTypeがDX_SOUNDDATATYPE_MEMNOPRESS(デフォルト)だからかもしれない
482 :名前は開発中のものです。2011/06/23(木) 19:36:12.62 ID:fyYcjHqX
>>480
素早いレスポンスまじ助かる
用途に合わせて使ったらメモリ使用量がスゲー減ったよ
本当にありがとう
483 :名前は開発中のものです。2011/06/23(木) 20:03:47.01 ID:8jCWoIDE
描写の基礎中の基礎だと思うのですが

例えば落ち物パズルゲーム(ジャンル関係なく)

落下物を一番下まで置く
次の落下物

以下ループ

移動物は当然、描画→消す→再描画が必要になると思いますが
動かなくなった物もこのルーチンに組み込むしかないのでしょうか?
484 :名前は開発中のものです。2011/06/23(木) 20:07:04.40 ID:UJG7O4KB
>>483
そうだよ、毎回全部再描画
全消し&全再描画が基本
487 :名前は開発中のものです。2011/06/23(木) 20:40:33.33 ID:3TDZtZ67
>>483

処理速度の遅い、昔のパソコンだと、いかに描画部分を減らすかが勝負だったから、
貴方の考えてるような事(動かないものは再描画しない)は重要だった。
ファミコン等で使われてるスプライトやBG機能はそういうのをハード的に処理する事で、
軽快な動きを実現させていた。

今のPCはそんな事考える必要ないくらいの処理速度なので、やってる人はいないでしょう。
もちろんできなくはないけどデメリットが多くてメリットは少ない。
488 :名前は開発中のものです。2011/06/25(土) 11:42:26.53 ID:cdu6xBQg
>>483
画面のほとんどが将棋みたいに静止してるゲームを除いて
削れる対象って少ないよ。(高速化が必要なゲームで使えない手法)

小さな領域で何回も描画すると遅くなるし。
485 :名前は開発中のものです。2011/06/23(木) 20:11:03.75 ID:AbrHzuoP
一昔前のスペックのPCでも、60フレームで毎回数千枚画像を描画しても問題ないしな
ゲーム作り始めた人は大抵最初疑問に思うよな、コレ
486 :名前は開発中のものです。2011/06/23(木) 20:22:51.26 ID:5vtX6Rn6
むしろDxLibのサンプルを読むと、裏描画→スワップ→裏消す→ループの流れになってたから素直に馴染んでた。
489 :名前は開発中のものです。2011/06/25(土) 11:49:53.47 ID:cdu6xBQg
ハイポリゴンの3Dがぼけっと止まってるとかなら
描画した結果を写真みたいに1枚のテクスチャにしてしまうのが有効
490 :名前は開発中のものです。2011/06/25(土) 21:53:53.82 ID:uR7PC9MK
C#板で壁にぶち当たってきたので、ちょっと愚痴らせてくれ
万単位のVERTEX3Dを1フレーム毎に更新なんてできねーよ
テクスチャアニメーションはやるなってことでFAなんか?
492 :名前は開発中のものです。2011/06/25(土) 23:29:58.84 ID:9uA0GKJd
>ファミコン等で使われてるスプライトやBG機能はそういうのをハード的に処理する事で、
ハード機能だったのか〜

496 :名前は開発中のものです。2011/06/26(日) 08:34:43.38 ID:7hazcZAF
>>492
今更かよ!そもそもスプライトはハードウェアの機能の事
DirectX等でいわれているスプライトはエミュレーションにすぎない
494 :名前は開発中のものです。2011/06/26(日) 02:35:51.59 ID:lfYDudtN
3D関数のリファレンスページを見ているのですが、

>Vertex[ 0 ].pos = VGet( 100.0f, 100.0f, 0.0f ) ;
この100.0fや0.0fに付いているfはfloat型という意味なのでしょうか?
495 :名前は開発中のものです。2011/06/26(日) 03:05:18.50 ID:3ESIOFXK
はい、そうです。
498 :名前は開発中のものです。2011/06/26(日) 10:12:05.33 ID:lfYDudtN
>>495
ありがとうございます
497 :名前は開発中のものです。2011/06/26(日) 08:47:33.80 ID:5F1hYASA
スプライト動かして背景に影響が出る以上、エミュレーションになってないと思うがw
ただ名前を借りてるだけだろう。
499 :名前は開発中のものです。2011/06/27(月) 15:31:04.89 ID:cfpgRrAj
スプライトはハードが対応してれば有効じゃなかったかな。
そんなカードにはお目に掛かったことないけど。
500 :名前は開発中のものです。2011/06/27(月) 22:42:22.18 ID:txUEornU
---------disp.h---------
void disp(){
int FontHandle;
FontHandle = CreateFontToHandle( "MS ゴシック" , 20 , 1 , DX_FONTTYPE_NORMAL );
DrawFormatStringToHandle(100,100,色,FontHandle,"テスト");
}

---------main---------
main(){
while(i== 0){
       Disp(); // ループ処理
        }
}
このようにプログラムを組んだらフォントハンドルの作成数が限界になってエラーになり
修正を加えました
501 :名前は開発中のものです。2011/06/27(月) 22:44:11.62 ID:txUEornU
---------moji.h---------
void moji(){
int FontHandle;
FontHandle = CreateFontToHandle( "MS ゴシック" , 20 , 1 , DX_FONTTYPE_NORMAL );
}

---------disp.h---------
#include "moji.h"
void disp(){
int FontHandle;
DrawFormatStringToHandle(100,100,色,FontHandle,"テスト");
}

---------main---------
#include "disp.h"

main(){
while(i== 0){
       Disp(); // ループ処理
        }
}

どうにも上手く動かないのですが、フォントの初期設定?とそのハンドルの使いまわし方がイマイチ理解できません
512 :名前は開発中のものです。2011/06/29(水) 15:52:41.36 ID:Ic6AYPGZ
>>507
むしろグローバル領域に頼らない心意気は大事だと思うます
とは言っても終始必要な情報をグローバルに置くのも一つの手なので
その時はヘッダファイルの宣言にexternをつけて、対になるソースファイルに実態を定義する
>>501の例をdisp.hとdisp.cにまとめた場合こんな感じ。実際はもっと一意的な名前にする
---------disp.h---------
// 宣言
extern int FontHandle;
extern void set(void);
extern void disp(void);
---------disp.c---------
// 定義
int FontHandle = 0;
void set() { FontHandle = CreateFontToHandle( "MS ゴシック" , 20 , 1 , DX_FONTTYPE_NORMAL ); }
void disp() { DrawFormatStringToHandle(100,100,色,FontHandle,"テスト"); }
502 :名前は開発中のものです。2011/06/27(月) 22:47:04.61 ID:jowqIwaV
int FontHandleをグローバルにしないとそのハンドル値が保存されないので、
DrawFormatStringToHandleにうまく渡せていない
503 :名前は開発中のものです。2011/06/27(月) 22:53:02.36 ID:HTROKHBn
---------moji.h---------
int FontHandle;
void moji(){
FontHandle = CreateFontToHandle( "MS ゴシック" , 20 , 1 , DX_FONTTYPE_NORMAL );
}

---------disp.h---------
#include "moji.h"
void disp(){
DrawFormatStringToHandle(100,100,色,FontHandle,"テスト");
}

---------main---------
#include "disp.h"

main(){
while(i== 0){
       Disp(); // ループ処理
        }
}


詳しくは変数のスコープでググれ
504 :名前は開発中のものです。2011/06/28(火) 00:06:09.15 ID:kDrw83xo
moji()呼んでなくね?

てか、確かフォントハンドル作成は時間かかる処理だし、最初に一回だけやればいいだろ。
それでも作成しなおしたいんだったら、使わないフォントハンドルはちゃんと削除しといたほうが……。
505 :名前は開発中のものです。2011/06/28(火) 00:13:40.34 ID:VylbgPEM
あ、ほんとだ
---------main---------
#include "disp.h"

main(){
moji();
while(i== 0){
       Disp(); // ループ処理
        }
}

こうか

でもDXライブラリのハンドルは、感覚掴まないと難しいしな……
ハンドルと実態は別だし
506 :名前は開発中のものです。2011/06/28(火) 00:24:09.17 ID:kDrw83xo
>でもDXライブラリのハンドルは、感覚掴まないと難しいしな……
>ハンドルと実態は別だし

俺はよく解ってないまま使ってるw
まぁデータベースみたいなものが自動的に作られてて
ハンドルはそのキーってとこだろうという程度の認識で。
507 :5012011/06/28(火) 00:39:04.09 ID:ACSn663z
無事解決しました
ありがとうございます

そもそもグローバル変数をよく理解できず
それでいてそういう変数の操作ができず不便で戻り値を駆使して対応していたのですが
色々な問題が一気に解決した気分です

508 :名前は開発中のものです。2011/06/28(火) 20:28:42.91 ID:ZHM0z8W2
半透明のビルボードが欲しいのだけど、なんかいい方法ないもんかな?
DrawBillboard3Dには半透明にする機能がないし
DrawPolygon3Dとかから自作すればいけるのか?
510 :名前は開発中のものです。2011/06/29(水) 10:50:26.63 ID:IWHgyftA
角っちょが丸い四角形がかける関数があるとか前にこのスレかどこかでみかけたんですが

そんな物は無い?
513 :名前は開発中のものです。2011/06/29(水) 16:55:11.35 ID:OR33XjHH
むしろ初期化関数とハンドル取得関数を作って一つのファイルで完結させるとか
514 :名前は開発中のものです。2011/06/29(水) 17:34:17.72 ID:FojZiLJk
C言語あまり使ってないから詳しくは知らないけど
フォントハンドルは公開する必要ないんだからstaticにして
dispに集約しても良いんじゃね?
それこそ関数ポインタか下のようにif文でsetなんて消したい。

//----disp.h----
void disp();
void disp2(int x, int y, char* moji);
//----disp.c----
static int FontHandl=0;//プログラム実行時に0に初期化される
void disp(){
if(!FontHandle){ FontHandle = CreateFontToHandle( "MS ゴシック" , 20 , 1 , DX_FONTTYPE_NORMAL ); }
DrawFormatStringToHandle(100,100,色,FontHandle,"テスト");
}
void disp2(int x, int y, char* moji){
if(!FontHandle){ FontHandle = CreateFontToHandle( "MS ゴシック" , 20 , 1 , DX_FONTTYPE_NORMAL ); }
DrawFormatStringToHandle(x,y,色,FontHandle,moji);
}
515 :名前は開発中のものです。2011/06/29(水) 20:16:24.25 ID:E6WBSwVS
どうでもいいけど、DXライブラリでのハンドル取得におけるエラー時の返り値は-1だから
初期化は0でなくー1でやるべきだと思うんだ。
516 :名前は開発中のものです。2011/06/29(水) 20:48:16.30 ID:FojZiLJk
>>515
ごめんよ、DXライブラリもまともに使ったこと無かったんだよ
517 :名前は開発中のものです。2011/06/30(木) 22:55:45.34 ID:XyQ/91Ao
DrawPolygonIndexed3D関数の使い方として
10個の頂点の情報をセットして、
必要に応じた頂点を好きなだけ選んでポリゴンを表示できますか?

VERTEX3D Vertex[10];

Vertex[0] = VGet(x0,y0,z0);

Vertex[9] = VGet(x9,y9,z9);
としておいて、描きたいようにIndexの配列の値を変える。
518 :名前は開発中のものです。2011/07/01(金) 13:05:44.55 ID:AzTVh6s+
>>517
VERTEX3D[]は固定なんだろうから
どっかに面単位でインデックス(ushort[])作っておいて
必要に応じて、コレクションに加えていけば
最後には出力用のインデックスつくれるんでない?
520 :名前は開発中のものです。2011/07/02(土) 15:46:16.84 ID:0iBc3qQu
>>518
ありがとうございます。
なんとか出来ました。
521 :名前は開発中のものです。2011/07/04(月) 04:00:41.46 ID:r/eUUGPT
while(特定のキーが押されるまで)

処理


終了

ベタなプログラムだと思うのですが、処理内容が空白でも
CPU使用率が50%から下がらなくなる状況なんですが、そういうもんなんですか?

メモリの使用量も文字列を1行字表示させるだけでも他の数十MBも利用するみたいですが(DirectXの仕様?)
524 :名前は開発中のものです。2011/07/04(月) 06:26:28.25 ID:G6zc5/1T
>>521
スリープしてないからCPUの空き時間すべて判定と処理に回される
無限ループは待機なきゃwhile内の処理空白でもCPU使いまくるぞ
522 :名前は開発中のものです。2011/07/04(月) 04:20:53.26 ID:z0yvy7kK
文字を表示するにはフォントを読み込む必要があるからじゃないの
525 :名前は開発中のものです。2011/07/04(月) 06:50:01.43 ID:FPueCilM
だいたいの人がこんな感じにするんでね?

初期処理
SetDrawScreen(DX_SCREEN_BACK)
while(終了条件判定)

ProcessMessage()
任意の処理
ScreenFlip()

終了処理

終了
526 :名前は開発中のものです。2011/07/04(月) 07:15:14.36 ID:r/eUUGPT
単純にProcessMessage()を入れ忘れてました
別プロジェクトからプチ検証プログラムを用意する程度だったもので

お騒がせしました
529 :名前は開発中のものです。2011/07/05(火) 01:14:14.15 ID:N04GYWP+
VERTEX3D[]とそのインデックスのshort[]で構成された面情報と
線分の衝突を判定使用と思った場合
HitCheck_Line_Triangleですべての面を調べるしかない?
なんとか、全部調べなくてもいい方法ないかな?
531 :名前は開発中のものです。2011/07/06(水) 08:40:28.87 ID:sZ0Jgfi/
ドットアニメーションの画像があるとして

LoadDivGraph( ) ;
で細切れにして、順番に画像を呼び出すのと


画像はそのままで
DrawRectGraph()範囲指定呼び出し

どちらが良いんでしょ
532 :名前は開発中のものです。2011/07/06(水) 11:20:53.20 ID:B7jikDb2
LoadDivGraphでいいよ
その程度で速度に大差はないし使いやすい方使えば
533 :名前は開発中のものです。2011/07/06(水) 13:04:15.22 ID:JfOHYSdZ
測った事ないからわからんけど、
機能だけみるとDrawRectGraph()は
同じアニメーションを頻繁に繰り返す用途には向かない気がするが。
534 :名前は開発中のものです。2011/07/06(水) 21:42:56.02 ID:u5JKS2Ez
何度もアニメを回すならLoadDivGraphでしょ。
1度しか使わないなら大差ないからどっちでもいいかと。
普通は使い分ける意味ないからLoadDivGraphで統一。
535 :名前は開発中のものです。2011/07/07(木) 07:44:54.36 ID:3tEv9Vp4
LoadGraphで画像をメモリに大量に記憶させまくったら
ブルースクリーンになって落ちました
メモリがオーバーした(メインメモリはオーバーしない程度のはずだったけど)から
ブルースクリーンになったと思うのですが

PCのスペックの限界付近になったら処理を終了
(プログラム実行を終了)という感じはできるんですかね?
540 :名前は開発中のものです。2011/07/07(木) 19:47:51.91 ID:no4toLki
>>535
> PCのスペックの限界付近になったら処理を終了
> (プログラム実行を終了)という感じはできるんですかね?

あなたがそうプログラムを書けばできます。
541 :名前は開発中のものです。2011/07/07(木) 20:05:58.01 ID:Uh2+G3B1
>>535
限界超えたら例外吐いて終了って実装が多いんじゃね。
ブルースクリーンってことはメモリの使い過ぎじゃないよ。
使い過ぎぐらいでそんなもん出てたまるかwww

OSのパフォーマンスモニタや、グラフィックボードのその手のツールを使うと
メモリ使用量等に関しては計測可能になるよ。

というかデバッグするのにツール使わないとか時間の無駄だから。
536 :名前は開発中のものです。2011/07/07(木) 08:35:16.28 ID:RpRfHQr4
そのブルースクリーンは再現可能なの?
つまり、一回だけあった現象なのか、同じ処理を実行すると必ずそうなるのか。

つぎに、その「大量に記憶」ってのは具体的にどれくらい?
どれくらいのサイズの画像をいくつくらい?
もし現象が再現可能なら、いくつくらいで落ちるか大雑把には調べられるよね?

最後に、メモリがハード的に壊れてないか調べてみた?
537 :名前は開発中のものです。2011/07/07(木) 09:39:14.65 ID:3tEv9Vp4
PCがぶっ壊れると困るので再現性は確認してませんが
確かに再現性を調べてから質問すべきでした

画像は300*300の画像を300〜400枚ぐらいでした
538 :名前は開発中のものです。2011/07/07(木) 16:57:35.61 ID:4fOFO6+S
グラボのメモリは足りてるのか?ブルースクリーンなどはグラボのドライバーが比較的おおい
539 :名前は開発中のものです。2011/07/07(木) 17:00:07.62 ID:4fOFO6+S
あと、物によるがテクスチャの容量計算は圧縮サイズで見積もってもあまり意味がない。
544 :名前は開発中のものです。2011/07/07(木) 21:32:54.19 ID:H/eq5eCh
何もしなくても70〜80MB喰うよな
ダイレクトXの仕様なのか

意識しないと200MB近くになっている
547 :名前は開発中のものです。2011/07/08(金) 02:05:10.25 ID:ju5ZjKNL
今の時代200MBなんてミジンコのようなもんじゃないの
549 :名前は開発中のものです。2011/07/08(金) 05:01:38.66 ID:xNQ5LdqE
>>547
タスクマネージャでメモリを確認した時
自分のゴミゲーのメモリ使用量がトップになるのがなんとも・・・・

紙芝居のエロゲーでさえ100〜150MBだからな
548 :名前は開発中のものです。2011/07/08(金) 03:36:01.34 ID:30NOFzMm
VRAM圧迫でブルースクリーンはOSとDirectXの仕様的に考えにくいわ
物理的にメモリが逝ってるとか、変な領域にアクセスしようとしたとか
そっちのほうが、まだ説得力あるよ
550 :名前は開発中のものです。2011/07/08(金) 05:43:04.35 ID:0JQluf0w
紙芝居はビットマップを全部メモリにキャッシュしたりすると結構食うんじゃない?
640x480x32bitの絵を一枚で1MBかかるし
551 :名前は開発中のものです。2011/07/08(金) 07:43:57.64 ID:xNQ5LdqE
最近の紙芝居はワイド画面にキャラだしまくりんぐで、結構喰うのはわかるけど
その紙芝居より(見た目が)ショボい自分のゴミゲーが超えるってのがなんだかな〜っとw

2Dドットアニメーションってプログラムとしては扱いやすいけど沢山出すとメモリを喰うよな
まぁ、1キャラでもアニメーション分が増えるわけだから表面的な画像量より多く喰うのは当然なんだけど
小さい物体ならいいけど大きい物体となると尚更

やはり時代は3Dなのか?
552 :名前は開発中のものです。2011/07/08(金) 08:04:40.84 ID:/2PwufA9
内部的に32ビットで扱ってるから容量食いまくるんだよな
8ビットとかでも高速描画できるようにしとけばよかったのに
ハードの設計から思想的に間違ってるんじゃないの
553 :名前は開発中のものです。2011/07/08(金) 08:10:27.04 ID:oAgC7u48
素材を作れず、吸い出しやネットで集めていると
8ビットは厳しいんだよなw

仕様を要求できず、こっちが仕様に合わせる
554 :名前は開発中のものです。2011/07/08(金) 09:20:33.98 ID:xNQ5LdqE
>内部的に32ビットで扱ってるから容量食いまくるんだよな
つまり

100x100x8と100x100x32の画像を用意しても
DirectXの処理ではどちらも100x100x32で扱われているってこと?
559 :名前は開発中のものです。2011/07/08(金) 14:48:33.35 ID:TCgTz1P8
いまどきの圧縮フォーマット。
フルカラーで最大1/8になる。
560 :名前は開発中のものです。2011/07/08(金) 16:42:47.16 ID:+kwHfdXT
>DXT
対応グラボなら、圧縮された状態でキャッシュに持てるんだっけ?
561 :名前は開発中のものです。2011/07/08(金) 16:49:27.82 ID:TCgTz1P8
VRAM上は圧縮されたまま。
テクスチャキャッシュ上では展開されている。

対応自体はGeForce3とかの時代にはもうあったはず。
563 :名前は開発中のものです。2011/07/08(金) 16:57:39.20 ID:xNQ5LdqE
DXTってファイルのフォーマットであって、
画像ファイルそのものがこちらで選択できない場合は無理だよね?
564 :名前は開発中のものです。2011/07/08(金) 17:01:48.03 ID:vjhOwbGw
今時のPCのVRAMの最低基準が128MBだとして、
それがいっぱいになるくらいテクスチャ読み込むのっておかしいだろ……
512*512フルカラー1枚でキッカリ1MBだし……
小さなゲームなら起動時に画像全読み込みもOKだろうけど、
そこまで大規模なゲームなら、画像が必要になったときに読み込んだり要らなくなったら開放する仕組みを組むべき
565 :名前は開発中のものです。2011/07/08(金) 18:05:22.70 ID:XTPS3PsK
300枚から400枚だろ。300×300なら512になっているかもなー
567 :名前は開発中のものです。2011/07/08(金) 22:37:20.28 ID:1piVrq/r
音声やムービーならストリーミングってのもわかるけど
画像ファイルでストリーミングってできるもんなの?
手動で順次読み込み機能を組めってこと?

参考にはならんかもしれないが
俺が知ってるDXライブラリ製ソフトで256x256の画像データを
1200個近く読み込んでいる(と思う)のあるけど
普通に動いてたよ。
何か工夫してるのかもしれないけど。
568 :名前は開発中のものです。2011/07/08(金) 22:48:42.71 ID:ANMV7PRG
それだけの量を一度に読み込む意図がわからんが・・・
面ごとに必要な分量を読んでるとかじゃなくて?
569 :名前は開発中のものです。2011/07/08(金) 22:59:40.82 ID:0JQluf0w
別にメインメモリに読み込む分にはなにも問題ないんじゃね?
500MBくらいならそこらの市販ゲームでもやってるよね
VRAMに転送しすぎるとなんかやばそうな気がするけど
570 :名前は開発中のものです。2011/07/08(金) 23:01:14.52 ID:xNQ5LdqE
メインメモリに送っているのかVRAMに送っているのかどうやって判断するんですか?
571 :名前は開発中のものです。2011/07/09(土) 00:21:03.51 ID:l9Sp5oqE
初歩の初歩なんですけど、
空間上に画像を描画したい時は
DrawPolygon3D
でやればいいんですかね。
DrawBillboard3D
は常にこっちを向いてくれちゃうみたいなんで。
こっち見んな。
574 :名前は開発中のものです。2011/07/09(土) 04:38:53.10 ID:ACvCBdpg
>>571
空間上に画像を(○○で)描画したい時は、という風に使い分けるんだよ。
ビルボドードで表示したいときは、DrawBillboard3Dを使うだけ。
このへんは2Dでも同じ、というか全てにおいて同じでしょう。
572 :名前は開発中のものです。2011/07/09(土) 00:28:21.38 ID:C+kMMCno
メインメモリにテクスチャー置いても
描画するときは一時的にVRAMテクスチャ作って
それにコピーしてからスクリーンに描画する
573 :名前は開発中のものです。2011/07/09(土) 02:49:59.41 ID:M4Li/NIF
VRAMってのはいわゆるスクリーンに投影される部分の事じゃないのか。
575 :名前は開発中のものです。2011/07/09(土) 08:41:20.01 ID:EUxsgPhf
VRAMの役割は昔の画面だけと大分ちがうよ?同じ部分も含んでるけど。
576 :名前は開発中のものです。2011/07/09(土) 13:38:11.51 ID:aAP3Q2i0
複数のスレッドで同時にDXライブラリを使うと、
ときどきエラーをはくのだが、DXライブラリって
マルチスレッド対応じゃなかったの?

使ってるのはC#版です
577 :名前は開発中のものです。2011/07/09(土) 14:43:35.23 ID:CiDrTx8q
>>576
スレッドはエラー起こりやすい。このライブラリが原因と特定できたなら作者へ連絡すれば良い。
578 :名前は開発中のものです。2011/07/09(土) 16:53:02.35 ID:aAP3Q2i0
>>577
公式掲示板に再現可能なソースをつけてあげてきた。
ソースのほうに問題がありそうなら、みなさん指摘お願いします。
582 :名前は開発中のものです。2011/07/09(土) 18:59:38.72 ID:CiDrTx8q
>>578
C#はしらんが。C++のコードない?
C++だったらデバッグて゜きるんだけども。
579 :名前は開発中のものです。2011/07/09(土) 17:28:30.71 ID:BBj6JRev
hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2301
すぐ下にわかりやすい答えがあるみたいだが
587 :名前は開発中のものです。2011/07/09(土) 22:02:30.71 ID:aAP3Q2i0
>>579
ありがとん、マルチスレッドで使っちゃだめなのね
だとすると、データのロードとか初期化の作業とか
みなさん、どんな風に組んでるの?
617 :名前は開発中のものです。2011/07/10(日) 07:18:41.12 ID:QkTwsDNd
>>587, 597
>動いてかっこいいロード画面計画
よほどでかいデータじゃなきゃロード処理中に定期的に画面更新するだけでも十分だったりするよ
580 :名前は開発中のものです。2011/07/09(土) 18:27:07.84 ID:WzYTa9jF
DXライブラリはバグばっかり
ちょっと込み入ったことやろうとするとすぐ強制終了する
しかもエラーコードとかなくてエラー時にには関数が-1を返すだけだからそれ以上調べようがないしうんこすぎぶりぶり
583 :名前は開発中のものです。2011/07/09(土) 19:01:55.39 ID:gbiBau/k
>>580
具体的に書いてみ、そしてソースコード添付。
そいから、あなたの動作環境を提示(PCハード情報、OS情報、など)

再現性のある情報を提供してくださいね
585 :名前は開発中のものです。2011/07/09(土) 21:01:44.35 ID:BdkS/RBR
だれか今作ってるゲームのスクショ上げてくれ

モチベーションがあがらない
589 :名前は開発中のものです。2011/07/09(土) 22:08:12.81 ID:g5MhzaFI
>>585
ttp://www.dotup.org/uploda/www.dotup.org1773432.jpg
途中で色々浮気しながら2年目突入
592 :名前は開発中のものです。2011/07/09(土) 22:15:02.27 ID:GHbNRazy
>>589
ダンジョンRPGだと……
発表時期によってはウチの作品のライバルになりそうだ
594 :名前は開発中のものです。2011/07/09(土) 22:17:28.85 ID:GkFpt5d8
>>589
3Dモデルとかも作成してるんですか?
602 :名前は開発中のものです。2011/07/09(土) 23:31:05.71 ID:g5MhzaFI
2DもSTGとかの原型だけは作ったりしてる。
そこまでできちゃうとデータ作ったりするのに疲れて色々浮気しちゃうんだよね。

>>592
あと5年は完成しないと思うよ。

>>589
メタセコイアで壁とか床だけ作ってる。
603 :名前は開発中のものです。2011/07/09(土) 23:44:29.00 ID:BdkS/RBR
>>602
なんかもっとド派手な技だしてる画像とかの方がモチベーション上がったと思う

つかこれ、マップ表示のフィールドの形と目で見るフィールドの形がちょっと
違うようにみえるけど、まあ開発段階は皆そんなもんだろうね
609 :名前は開発中のものです。2011/07/10(日) 00:50:38.80 ID:AsfALi2J
>>603

モチベがどうとか言うって事は、自分でも作ってるんだろ?
他人のものを見るより、自分のスクショを上げるべきだろ。
610 :名前は開発中のものです。2011/07/10(日) 01:46:33.14 ID:CZHVbp3+
>>609
自分のスクショでモチべ上がるわけないだろ
自分の思い描いているプレイ画面のスクショがあれば相当上がるけどな

さあ、君も上げるんだ
625 :名前は開発中のものです。2011/07/11(月) 11:20:50.23 ID:qEjXc3p4
>>585
http://www1.axfc.net/uploader/Img/so/120534.png&key=dnmk
音楽ファイルから弾幕作成する
音楽の解析部分はほぼできたが
そこから様々な弾幕を生成する紐付けで詰まってる
なかなかブレイクスルーが来ないまま、だいぶ時間が経ってしまった
586 :名前は開発中のものです。2011/07/09(土) 21:59:58.74 ID:S04z7kMs
俺も前にPPLでゲーム処理のマルチやろうとしたら何らかのエラー(忘れた)が出て、
まったく使えなかったので諦めたな
588 :名前は開発中のものです。2011/07/09(土) 22:07:30.91 ID:C+kMMCno
Direct3D9がマルチスレッド向きじゃないからね。
最近出たDirect3D11の特徴がマルチスレッド対応だし。

DxLibのAPIを呼ぶのはメインスレッドのみに制限したほうがいい
590 :名前は開発中のものです。2011/07/09(土) 22:08:26.78 ID:CiDrTx8q
Re: マルチスレッド化の注意点 ( No.1 )
名前:管理人 日時:2010/03/29 06:45


描画を行うスレッドは一つにする必要があります。
MV1SetPosition や MV1SetAttachAnimTime や当たり判定などの描画を行わない関数は複数のスレッドから同時に呼んでも問題ありません。
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=1693
597 :名前は開発中のものです。2011/07/09(土) 22:33:27.59 ID:aAP3Q2i0
>>595
>>590をみると。データの読み込み(DX.LoadGraph)と書き込みと
描画(DrawBoxとDrawString)を同時にやるのが問題みたい
これにより、オレの「動いてかっこいいロード画面計画」は頓挫したわけだ・・・・

普通に止め絵でロード画面作るけどね。
599 :名前は開発中のものです。2011/07/09(土) 23:16:30.04 ID:CiDrTx8q
>>597
データロード中に0%から100%に動く表示をしたいのか?
C#はしらないが公式掲示板のソースは、無数にスレッドを生成してないか?
601 :名前は開発中のものです。2011/07/09(土) 23:21:27.72 ID:rjwb63Qw
>>597
複数のスレッドで描画関係の関数呼ぶのが問題なわけだから、
読み込みと書き込みは別スレッドでやりつつ描画を1つのスレッドでやるのは問題ないんじゃないの?
607 :名前は開発中のものです。2011/07/10(日) 00:44:01.45 ID:01esqUG5
>>599
シンボルがテカテカ光ったり、SDキャラがテクテクあるいたり・・
スレッドは、以前に作ったスレッドが動いていないときだけ、動くようにしてるんで
本スレッドいがいは読み書きをするスレッドが1つ常に動いてる状態になってるサンプル

>>600
それができたら、オレのサンプルは普通に動いてるよ

>>601
それが、ロードと描画も同時にやってはいかんらしい
たぶん、ロードに使うポインタと描画に使うポインタが一緒とか、
そういうことなんじゃないかな?DXライブラリのソースは読んでないから
詳しくはしらないけど。
608 :名前は開発中のものです。2011/07/10(日) 00:46:51.56 ID:SCPUfUzI
>>607
いくらでもサンプルあるんだから少しはググろうぜ。
591 :名前は開発中のものです。2011/07/09(土) 22:10:11.77 ID:CiDrTx8q
ID:aAP3Q2i0はどこで競合など発生しているのか調べて、そこを再入不可能にしたらいいだろう。
593 :名前は開発中のものです。2011/07/09(土) 22:15:40.92 ID:63ssXNtP
バカが公式掲示板にも書き込んでやがる
早く解決レスつけてこいよ
つか質問する前に過去ログくらいあされよクズ
595 :名前は開発中のものです。2011/07/09(土) 22:18:25.06 ID:CiDrTx8q
この部分を、スレッドで連続で呼び出すとエラーになるってことか?


{
// メモリに読み込んで消すだけ
int temp = DX.LoadGraph("testpatan02.png");
DX.DeleteGraph(temp);
}
596 :名前は開発中のものです。2011/07/09(土) 22:29:57.16 ID:CrPOQxPl
最近はDXライブラリ使って3Dが普通になってきてるんだなぁ。
未だに2Dしか使えない俺はこの先困りそうだな……。
600 :名前は開発中のものです。2011/07/09(土) 23:19:41.25 ID:CiDrTx8q
画面描写とデータロードは並列に出来るだろ?
自分はこのライブラリ使ったことないがな。
604 :名前は開発中のものです。2011/07/09(土) 23:53:17.74 ID:g1lEDun2
目に見える範囲はまだ踏破してないから
マップに表示されてないという画像に見えるが・・・
605 :名前は開発中のものです。2011/07/10(日) 00:36:21.93 ID:/rmDdMzo
やはりウィザードリィっぽいゲームは誰もが作りたくなるものなのだなw
俺も中学生の頃作ったからなつかすいわ
606 :名前は開発中のものです。2011/07/10(日) 00:37:22.88 ID:GuydunEL
人体アニメーションは自分には相当厳しいと判断した。
小さい人形ならできるかもしれないけど。

壁とかエフェクトを3D化なら少ししてみた。
それから3Dでのαブレンドがトラウマになった。
結局、ポリゴンが交差したらZソートしてもダメなんだろ?

面倒だから今のところ3Dエフェクト類は全て加算合成。
減算合成もなんか上手くいかないし、仮対応らしいしな
611 :名前は開発中のものです。2011/07/10(日) 02:01:48.22 ID:THomY2B3
お前のモチベーションなんてどうでもいいから
お前がスクショ上げて俺のモチベーション上げろよ
612 :名前は開発中のものです。2011/07/10(日) 02:42:30.34 ID:SCPUfUzI
>>610
こんな絵に描いたようなクズいるんだなww
言ってることがまさに>>611だわなwww
613 :名前は開発中のものです。2011/07/10(日) 03:00:53.66 ID:3Tl4GfZp
データロードと画面表示を並列実行したいのなら
1.メモリにデータを読み込む(読み込み終わるごとに2のスレッドにメッセージを投げる)
2.読込アニメーションと1で読込完了したデータをDXライブラリで設定(CreateGraphFromMem等を使う)
というようにスレッドを分ければいい
ただスレッドをきちんと理解できていることが前提。理解できていないのなら止め絵一択
615 :名前は開発中のものです。2011/07/10(日) 04:54:48.53 ID:AsfALi2J
データロード中のロード待ちアニメーション処理とか、昔からあこがれるが
そもそも俺の作ってる2Dゲームなんて画像データ少なくて、ロードも一瞬だからそんな処理する必要もねぇw
616 :名前は開発中のものです。2011/07/10(日) 05:07:42.66 ID:/IRNi55m
>>615
2Dゲーでもドットアニメーション絵を大量に呼び出すと一瞬固まるぜ
619 :名前は開発中のものです。2011/07/10(日) 23:33:06.06 ID:CZHVbp3+
爆発とかのエフェクトって、ソフトで出力した画像を分割読み込みして
それを一定間隔で描画して表現するものなのか?

なんか動画形式で出来るものだと思ってたんだが
620 :名前は開発中のものです。2011/07/10(日) 23:52:52.47 ID:01esqUG5
他には、数枚の炎っぽく見える絵を加算ブレンドで組み合わせてアニメさせる方法もある。
621 :名前は開発中のものです。2011/07/11(月) 00:09:23.91 ID:9JlkIYT5
そうなんか
その2つがメインな方法ってわけか

なんかもっと簡単な方法ないかな
エフェクトで文章量食うのはなんだか嫌だな
630 :名前は開発中のものです。2011/07/11(月) 14:16:38.02 ID:L+mlWpLR
>>621
もっと簡単な方法ってどんなイメージなんだ?
パラパラ漫画方式は、動画を表示するための基礎だし
汎用的なクラスなり関数なりを作っておけば、爆発以外でも使えるし
下手すると、表示はすべてコレだけでもいけるぞ

複数の絵を組み合わせる方式は、動的にエフェクトの様子を
変化させるために使うのだが、
この方式もパラパラ漫画と組み合わせて使うことで真価を発揮するものだぞ

あとはゲームには向かないけど、光の粒を物理法則にそって計算して
リアルな状態を作るとかあるけどな。
622 :名前は開発中のものです。2011/07/11(月) 00:16:09.01 ID:FDcyF9fZ
パラパラ漫画方式で順番に表示させるのが、一番わかりやすくて融通も効くと思うけど
むしろこれができないとゲーム作るの厳しくないか?
623 :名前は開発中のものです。2011/07/11(月) 00:17:42.55 ID:tXXCjoGx
そんな数行で済むような処理をケチるために時間潰すくらいならさっさと書けばよろしい。
627 :名前は開発中のものです。2011/07/11(月) 12:57:17.04 ID:qEjXc3p4
BMSの曲データから弾幕生成する「おたま」ってのは知ってたけど
こんなゲームあったのか、知らなかった・・・

体験版をやってみた感じ
やりたいことは基本的に同じ
違う部分は、
音たまが曲を流しながらリアルタイムで弾幕生成するのに対して
俺のは予め曲を解析して弾幕データ作るって部分かな
解析に時間かける分、わりかし曲のテンポにそった感じに弾はくよ

オレはAudioSurf見て、つくろうと思ったんだけど
音たまの人もそうなのかな
アイデア的には割と誰でも思いつくもんだとおもうけど
628 :名前は開発中のものです。2011/07/11(月) 14:05:19.05 ID:9JlkIYT5
弾幕じゃなくて、3Dでも2Dでもアクションゲーにしたらどうだ?
音のデータによって闘う敵が変わる感じだ

もっとテンションあがるかもしれないぜ
629 :名前は開発中のものです。2011/07/11(月) 14:07:02.32 ID:9qcZ4sSu
東方二次だが弾幕蓄音機っていうのもあるぞ
アレは音楽に影響してるの弾幕の生成位置とタイミングだけだった気がするけど
631 :名前は開発中のものです。2011/07/11(月) 15:09:44.14 ID:qEjXc3p4
>>628
アクションゲームとかノウハウ全然ないんよ
>>629
割と色々あるもんだな
オレが目指してるのは
音楽と弾幕を同調させるシリーズ
http://www.youtube.com/watch?v=CaXAZRbJhcQ
ってのを自動でやるって感じかな
ひたすら弾を避けるだけだからSTGじゃなくて弾避けゲームだな
632 :名前は開発中のものです。2011/07/11(月) 15:51:22.21 ID:ZLQ190oN
音たま風脊髄反射であっちょーですね。
これは期待w
645 :名前は開発中のものです。2011/07/12(火) 20:10:23.53 ID:KosuFjoS
>>632
あ〜、昔そういうゲームがあったのか
ぐぐってやっとわかった
やってみたいけど、X68000とかPC98用みたいだから無理か・・・
残念
634 :名前は開発中のものです。2011/07/12(火) 00:15:30.48 ID:w3WiNDnu
「脊髄反射であっちょ〜」って、今の人らは知らないんじゃないかな・・・?
635 :名前は開発中のものです。2011/07/12(火) 00:55:18.36 ID:rtJ8dpy0
あんたら宣伝用にプレイ画面の録画とかする時あるでしょ?
その時どのツール使ってる?
637 :名前は開発中のものです。2011/07/12(火) 00:59:05.23 ID:rtJ8dpy0
はーい。じゃあ俺もそうする。
639 :名前は開発中のものです。2011/07/12(火) 01:14:46.66 ID:KosuFjoS
>>637
AMVコーデックはシェアウェアだが
AmaRecCoで利用する分にはタダだ
でも、登録しないと左下の方に「AMV」ってロゴ出てくるから注意な
ニコ動とかでAMVのロゴ出たまんまの人結構いる所を見ると
知らない人割といる予感
640 :名前は開発中のものです。2011/07/12(火) 02:14:45.74 ID:rtJ8dpy0
>>639 おっけーい。ありがとう。
641 :名前は開発中のものです。2011/07/12(火) 03:14:02.49 ID:+9/n3xVb
俺はMSのやつ使ってる
画面に余計な宣伝入らないし
ただ10分以上録りたいなら有料だけど
644 :名前は開発中のものです。2011/07/12(火) 10:30:53.50 ID:KZrC4U/J
俺もアマレレコ使ってたけど、Bandicamに変えた。
こっちの方が手軽に操作できるし、ヘボPCでも多少はマシだと思えるくらい軽かった。
もちろんタダで使える。
646 :名前は開発中のものです。2011/07/12(火) 23:56:55.19 ID:sQNLrYyx
DxLib3.0にしてから、キャプろうとすると不具合が出るんだよなあ。
何度か試してると上手くいくから、そこまで問題にはならないんだけど。
647 :名前は開発中のものです。2011/07/13(水) 01:43:00.30 ID:9PnxXa1e
最近感じるようになってきたんだが、c言語リアル初心者にいきなりゲーム制作
は厳しい闘いだな

とりあえず
スタート画面 → メニュー画面(ストーリー、武器選択、武器開発、部隊編成etc)→ 戦闘

という流れは作ったものの、細かなところまで作り込んでいくのは到底無理な気がしてきた

という形は
649 :名前は開発中のものです。2011/07/13(水) 03:42:31.21 ID:ccqTyWvK
>>647
そこまでできたら大したもんだろ。
653 :名前は開発中のものです。2011/07/13(水) 12:50:56.55 ID:9PnxXa1e
>>648>>649
違うんだ

確かに頑張ったつもりではいるんだけど、インターフェースとかAIとかかなり
ウンコレベルなんだわ

細かなエフェクトとか全くないし、AIが糞みたいな動きだし、不完全すぎるのが問題だ
659 :名前は開発中のものです。2011/07/14(木) 04:34:48.71 ID:gQedyap0
>>653
C言語初心者は関係ないじゃん。
発想とセンスとノウハウの問題だ。
市販のゲームプレイしまくって、自分でもゲーム作りまくるしかない。
673 :名前は開発中のものです。2011/07/14(木) 21:13:35.42 ID:gQedyap0
>>672
むしろお前が>>659と合わせて見直せよ。
ゲームを沢山遊べばプログラムをほとんど書かなくても面白いゲームができあがる、
それこそ何も考えずにゲームをひたすらプレイすれば面白いゲームができあがる、
その考えは間違ってますよ。なんてくだらないこと言ってるわけじゃないだろうに。
648 :名前は開発中のものです。2011/07/13(水) 02:01:53.43 ID:xeGw/hZv
そこまで作ったなら十分すごいと思う
そういうのは一度作ったら使いまわしができるから、かなり楽になるんじゃないの
650 :名前は開発中のものです。2011/07/13(水) 08:41:35.39 ID:Uop3Gb9C
例えばスクリーンショットを取るAPIがあるけど
画像サイズを大きくしていくと突然強制終了するようになる
たぶんビデオメモリの容量でデータ量が決まってるぽい
俺が間違ってるのかDXlibが間違ってるのか何も分からないし
DXlibの実装を見てやっと分かったわ。
それからはスクリーンショットをとるときは自分でfopenとかfwriteとか使って
やるようにしたわ
たかがスクリーンショットとるのに何でビデオメモリ使うんだよ
656 :とんちゃもん2011/07/13(水) 14:59:47.06 ID:jc99v67W
>>650
スクリーショットを作る方法はDirect3Dのバックバッファテクスチャを
画像に変換するのが一般的で、テクスチャを作れるサイズが
実行環境のビデオカード次第だからそれを超えてはならんのですよ。

680 :名前は開発中のものです。2011/07/15(金) 02:27:39.91 ID:8cxggSBU
>>650
ソース見てみたけど、ビデオメモリ使ってなくね?
651 :名前は開発中のものです。2011/07/13(水) 09:30:37.24 ID:pKTefd4g
DirectXのライブラリだからじゃね?
ゲームが作れるということを売りにしてるけど、実際は単なるDirectXのライブラリでゲームライブラリっぽくない。
スクリーンショットを撮ってメモリ上でいろいろやったりできるだろう。
ただとって保存するならDirectXのライブラリを使う必要ないし。
652 :名前は開発中のものです。2011/07/13(水) 09:34:39.60 ID:28OJnPDT
まぁライブラリのスクショ機能を使わないと実装できない処理もあるんだけどな
例えば普通のスクショだと、スクショにだけ写り込ませたくないものを除外して撮影とかできない

……たぶん
654 :名前は開発中のものです。2011/07/13(水) 13:04:45.60 ID:GPUrlUjB
それは言語初心者とかそういうプログラミングの問題ではない
655 :名前は開発中のものです。2011/07/13(水) 13:24:27.01 ID:aDHa5O44
いかなる改造をしたら「それ」っぽく見えるかというアイデアが必要なのだああああ
658 :名前は開発中のものです。2011/07/14(木) 01:51:01.54 ID:+qxB3wjg
エフェクト作ったらバグって何も表示されなくなった
これだから・・・
660 :名前は開発中のものです。2011/07/14(木) 10:29:49.40 ID:wU5xZKC8
AIは難しいよなー
アクション系ならいくらでも誤魔化せるんだが、テーブルゲームやシミュレーションだと永久に止まったり弱かったり・・・
661 :名前は開発中のものです。2011/07/14(木) 14:18:43.73 ID:su1yYC9L
ゲームを沢山遊べば面白いゲーム作れると思ってる人いるよねー。
音楽聞きまくれば、良い音楽が作れる理論に同じw
671 :名前は開発中のものです。2011/07/14(木) 20:54:20.38 ID:gQedyap0
>>661
音楽聞かずに音楽作ってるやつの曲なんて、耳障りなだけだろ。
ゲームをプレイしない奴、ゲームを好きじゃない奴、
そういうのが作ったゲームはストレス溜まりすぎてプレイできねえぞ。
面白くもなんともない製作者自己満足ゲームにしかならねえ。
663 :名前は開発中のものです。2011/07/14(木) 15:20:47.74 ID:WgGhgNQa
他のソフトいろいろ触った人じゃないと、かゆい所に手が届くUIって
なかなか難しいと思う。
そういうこと考えずに触ってるだけとか、単に画一的になるだけ
になる恐れはあるけれども。
666 :名前は開発中のものです。2011/07/14(木) 17:32:59.60 ID:v1e8oMdn
UIに注目してノートを取りながらゲームをするなら意味あるかもしれんな。
意識した行動をとらずに普通に遊んでしまったら駄目だと思う
669 :名前は開発中のものです。2011/07/14(木) 18:52:07.28 ID:ECMS+lVr
STGの本で、敵のパターンやら弾幕やらを、簡単にアルゴリズム付きで紹介してるやつがあるけど、
あれのUI版みたいなのが欲しくなるね。
670 :名前は開発中のものです。2011/07/14(木) 18:53:05.31 ID:0nBB6892
好きなゲームのスクショとか資料フォルダに大量に保存してあるな
個人的に気を付けてるのは、ウィンドウやメニューを表示する際に2〜8フレーム位のアニメーションで出すこと
これをやると、ただパっと出てくるのに比べて自然と目線がそちらへ向かうのでスムーズにプレイできる
8フレームまでならウェイトうぜー、って心配もないし
672 :名前は開発中のものです。2011/07/14(木) 20:59:22.04 ID:CjWsHglX
何を言ってるんだキミは。
661は音楽聴かないほうがいいなんて一言も言ってないだろう。
読解力が無いのなら、もっとたくさん本を読んで、身につけた方がいいぞ。
676 :名前は開発中のものです。2011/07/14(木) 21:18:20.17 ID:CjWsHglX
すまんが君の文章は解りづらい。
ちゃんと主語を明確にしてくれ。何が言いたいのか、結論もきちんと述べてくれ。
678 :名前は開発中のものです。2011/07/14(木) 23:37:01.61 ID:+qxB3wjg
ここにいる奴は一人で企画、素材、実装の全役勤めてるんじゃないのか?
でもそれが面白いんだろ

で一人で詰め込んでると気が滅入るから、そうならないようにゲームをプレイする
って感じだな

679 :名前は開発中のものです。2011/07/15(金) 02:18:46.62 ID:iCOW3+aW
別に自分の好きなように作りゃーいーだろ
どうしても思ったようなUI作れないんだったらどっかから自分のイメージに出来るだけ合うようなのパチってくりゃいーだけ
どうせどこぞやに出品する程のもんなんて作るわけじゃねえんだろ
最悪四角書いてりゃ実用的には事足りるわけだし
682 :名前は開発中のものです。2011/07/15(金) 03:38:02.54 ID:QuMEcN1Y
妥協でも何でも完成すればよし
何本くらい完成させたことがある?
683 :名前は開発中のものです。2011/07/15(金) 12:08:10.06 ID:sINpyDal
>>682
まだ0本、ガチ初心者だし

LoadGraphが宣言の時にできないって仕様がなんとも使いにくいんだが
なんかいい方法ないかな
画像ロードするためだけに初期化関数つくらなくても使えるようになりたいわ
685 :名前は開発中のものです。2011/07/15(金) 12:41:54.64 ID:sINpyDal
そうなるのかな
ソースファイルの配列宣言するときに書きたいんだけど

Enemy_t Enemy[5][10]={
/*鋼鉄軍 */
/*Ctrl, hp, en,EnAtk,FiAtk,EnDef,FiDef,speed, rotate, saku, Egen,jspd, gear, maai, rad,haichi, jimg,image*/
{/*No1*/{ 0, 100, 100, 0, 0, 0, 0, 0.5, PI/120, 300, 0.3, 1, 2, 100, 5, 0, jet1, ship3},//LoadGraph("jet1.png"), LoadGraph("ship3.png") },
/*No2*/{ 0, 200, 200, 0, 0, 0, 0, 0.5, PI/120, 300, 0.3, 1, 2, 100, 5, 0, jet1, ship3a},//LoadGraph("jet1.png"), LoadGraph("ship3a.png") },
},
/*焔軍*/
・・・

って感じなんだけど、宣言と同時に初期化してもLoadGraphはできなかった
すげー不便だと感じた
689 :とんちゃもん2011/07/15(金) 13:20:05.46 ID:UPz+2Wt3
>>685
/*鋼鉄軍 *//*焔軍*/ だと・・・?中二心がくすぐられるぜ

>LoadGraphがライブラリ初期化前に呼べない
簡単に言えばDirect3DのテクスチャはDirect3Dによって作られた
ウィンドウから生成されなければならないから、
とにかく最初に初期化によってウィンドウを作る必要がある。

初期化前に行った場合に遅延処理という実装方法もできると思うけど
画面(シーン)の切り替えが起きるようなゲームだと結局クラス化
するから同じ事よ
690 :名前は開発中のものです。2011/07/15(金) 13:44:56.71 ID:sINpyDal
素直にやったつもりがボロボロじゃん・・・

どうやらクラスは必須なんだな
まずはCって思って作ってたけど、c++にも手を出す日が来が来てしまった
ちょっと勉強してきますわ

>>689
最初に作るものなんだから内容は定番でいいんだ
686 :名前は開発中のものです。2011/07/15(金) 12:53:46.25 ID:ooyFUgwS
エスパーするとグローバルスコープでその配列からデータを作るクラスを実態化とかしてるのかな
なんにしてもDXライブラリの仕様に文句つける前に言語仕様を理解できていないことだけは確実
初心者はサンプル参考に定石どおり組んだ方がいいよ
687 :名前は開発中のものです。2011/07/15(金) 12:58:39.60 ID:3cvFnUbZ
たぶんDXライブラリ初期化するまえに呼ぶからじゃないのかな。
class作って動的に生成したほうが楽だわ。
C言語だけならデータ更新関数作ってライブラリ初期化後に呼ぶか
グローバル変数をあきらめる。
688 :名前は開発中のものです。2011/07/15(金) 13:14:16.44 ID:oDrPnm7F
そもそも、おんなじ画像を2回以上LoadGraphするのは無駄が多すぎるから、
そんな書き方は普通はありえない
691 :名前は開発中のものです。2011/07/15(金) 13:48:50.77 ID:JNUfYENH
まずはCを、って言われて勘違いしてる人がたまに居るけど、Cは実践では使えないぞ
ゲーム制作においてCはあくまでC++学習用の言語だと思ったほうがいい

それだって、理由は文法の教本がみんなCで書かれてるからって理由だし、
webを資料にするとかならいきなりC++から触ったほうが効率いいよ
692 :名前は開発中のものです。2011/07/15(金) 13:59:14.18 ID:Ofk7Vi12
別にcで何ら不都合ないんだが。
oopが必要なら所だけcでソレやりゃいいし、
stlが便利とか言うけど、cでライブラリ拾ってくりゃリストとかすぐ使えるし。
694 :6852011/07/15(金) 14:42:58.10 ID:sINpyDal
クラス、継承とか一通り読んでみたけど、C++まじで意味不明だった
今回の問題がどうやってクラスで解決するのか考えてみたけど、よくわからなかったわ

とりあえず今回のゲームはCのみでそれなりに進んじゃってるから
途中からC++混ざるよりは、今回はCだけでやりとげる方がいいような気がした

で次に作るのはC++を最初から使って作るよ
697 :名前は開発中のものです。2011/07/15(金) 15:40:13.82 ID:oDrPnm7F
>>694
クラスなんて関係ないよ
問題はDXライブラリ初期化以前にLoadGraphを呼び出していることであって、
それはクラスで書き直したとこで、グローバル変数にしてたら解決しない
素直に初期化関数を書いたほうがいい
695 :名前は開発中のものです。2011/07/15(金) 14:45:31.31 ID:Ofk7Vi12
本質はクラス云々じゃなくてテクニックな件。
そもそもEnemyの配列は固定サイズでいいのん?
696 :名前は開発中のものです。2011/07/15(金) 14:51:37.21 ID:EU1MnOaM
クラスは機能が拡張された構造体って考えればいんじゃね
「龍神録プログラミングの館」は読んでみた?
全くの初心者ならとりあえず読んでみることを勧める
698 :名前は開発中のものです。2011/07/15(金) 15:40:47.67 ID:sINpyDal
>>695
50体作れれば十分かなと思った
これ以上は増えないと思う

>>696
クラスってそんなもんなの?
呼んだのは旧新プログラミングの館
龍神録はextern使ってて、それはよくないことって書いてあったからあまり読んでないな
ノウハウで必要なところは読んだりしてるかも
699 :名前は開発中のものです。2011/07/15(金) 15:58:19.66 ID:3cvFnUbZ
>697
classのが楽なのはこの場合は
LoadGraphするのをハンドルが必要なときまで遅延させるのを
隠蔽しつつ楽に書けるからだけどな。
グローバル変数で値設定しても問題なくなる。
700 :名前は開発中のものです。2011/07/15(金) 16:22:52.22 ID:oDrPnm7F
>>699
どういうこと?それって値設定の時点でLoadGraphしないってことでしょ?
そしたら結局、画像のための初期化の手続きを踏むことになるんじゃないの?

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006