トップページgamedev
990コメント278KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/02/25(木) 23:29:14ID:hEXp+gEa
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/
0564名前は開発中のものです。2010/06/07(月) 16:57:25ID:A0pl8E9h
>>563
今組んでるのがそんな感じ
やっぱりそういうのが普通なのかな
05655632010/06/07(月) 17:14:55ID:4KPscOCj
実装途中でめんどくさくなってシングルトンにしちゃったのは内緒だぜ
0566名前は開発中のものです。2010/06/07(月) 17:55:05ID:EN4DZkAk
俺もシングルトンの管理クラス使ってるわ
0567名前は開発中のものです。2010/06/07(月) 18:50:57ID:4KPscOCj
流れをぶった切って。

(1)
例えば、青空の背景で真っ赤な炎を爆発させたいとき、どうしてる?

画像そのものの作り方次第で、ある程度は何とかなるとは思うんだけど、
通常描画やαブレンドだと味気ないし、加算合成だと紫色の炎になっちゃう。


(2)
レーザーとか稲妻などの光を、より眩しくなるように表現するコツってある?

凄く抽象的な表現で申し訳ない。
単に加算合成しても、眩しいっていう印象からは程遠いんだ。

DXライブラリというより、画像の作り方かもしれない。
0568名前は開発中のものです。2010/06/07(月) 18:59:21ID:Ia/YH+my
シューティング製作スレでもいけば?

俺の場合は参考にならんだろうが、

1)普通にドット絵で描いてる。ブレンド等もせずにそのまま。
  もちろん今風じゃないし、さほど上手い絵でもないけど、気にしない。

2)上と同じく、普通に白を使うだけ。
  てかまぶしい画面効果なんて自分でやっててウザいだけなので、やろうとは思わない。
  むしろ目に優しい配色とか考える方がよっぽどいい。
0569名前は開発中のものです。2010/06/07(月) 22:13:31ID:DZ+Xq8Xt
>>567
(2)加算合成で2回同じ画像を描画

ってのはどう?
0570名前は開発中のものです。2010/06/07(月) 22:40:07ID:ZAQ/nx5O
>>567
1. 通常描画でいいんじゃね
2. 普通に描画した後にボカして加算合成
05715672010/06/07(月) 22:57:26ID:4KPscOCj
ありがとう。参考になる。


>>568
STGは全然分からないけど、確かにそういうの詳しそうだ。

(1)は、爆発のドット絵を上手く作れば、スーファミっぽく綺麗にはなるね。
ゲームによっては下手に加算合成せずに、そっちのほうが良いかも。

(2)は、さすがに連発はしないけど、ピンポイントで使うと印象深いかなー?くらい。


>>569
やってみたけど、グラデーション部分がカクカクするだけだった(´・ω・`)
これはこれで面白いエフェクトだけど。


>>560
(2)について、ボカすっていうのが結構良さそう。
試しに画像の時点でボカしを入れてみたんだけど、結構それっぽい。
0572名前は開発中のものです。2010/06/07(月) 23:26:07ID:DZ+Xq8Xt
>>571
ここ参考になるんじゃね?
ttp://marupeke296.com/DXG_No14_BrightnessExpression.html
0573名前は開発中のものです。2010/06/07(月) 23:38:23ID:4KPscOCj
ありがとう、わかりやすいな
0574名前は開発中のものです。2010/06/08(火) 03:23:41ID:XU0SY8KK
シングルトン使う位ならグローバル使っても大して変わらないと思うのだが
0575名前は開発中のものです。2010/06/08(火) 03:30:54ID:7IaY+r1I
シングルトンは機能面で採用するもんじゃなく、ついいい加減に書いちゃうのを抑止する程度の物でしかないね
でもそれが目的だからそれでいいんだよ
0576名前は開発中のものです。2010/06/08(火) 18:03:50ID:WqzuLKVT
具体的にどうシングルトンになってるの?
俺未だにその辺のデザインパターンがよく分からん。
関係する部分だけでいいからソース見せて貰えないだろうか。
シングルトン自体はわかるんだが、でも実際それをどこでどう使えばいいかってわからんのよな。

数学の何らかの公式は覚えてるし解けるが、じゃあその公式をどういう部分で使えば有効なのかってのがわからないみたいな。
0577名前は開発中のものです。2010/06/08(火) 18:27:04ID:apN5BnaM
それは「わかってるけど使い方がわからない」じゃなく、わかってないだけかと。
デザインパターン本には使い方なども書いてあるだろう。
0578名前は開発中のものです。2010/06/08(火) 19:16:55ID:LVU9CPSV
そもそもオブジェクト指向的な書き方の価値が分からん
クラスとか必要なくね
0579名前は開発中のものです。2010/06/08(火) 19:49:28ID:gCQeYNBi
みながわさん乙
0580名前は開発中のものです。2010/06/08(火) 20:06:39ID:apN5BnaM
>>578
なしでいけるなら、使わなくて問題ないよ
小さなソフトを作る場合、便利だと思った機能だけ使うのが賢いと思う
0581名前は開発中のものです。2010/06/08(火) 20:08:30ID:XU0SY8KK
ポリモ便利でしょ
0582名前は開発中のものです。2010/06/09(水) 03:58:21ID:COgxenTn
シングルトンはGemsや「ゲームプログラマになる前に
覚えておきたい技術」に実例と解説がなかったけ。
後者については、たしかゲーム板の参考の書籍の
過去ログで著者本人が意図を解説してくれてたような。

>クラスとか必要なくね
俺はないと無理だ。
クラスないと、複数の種類の敵とかを作っても
敵全部->Move();
敵全部->Draw();
とか一括でやりにくいし、コンストラクタやデストラクタとかないと困る。
昔のSTGみたいにオブジェクトプールと関数ポインタでタスクシステム(
この言葉の定義は別として)を、作っても似たことはできるかもしれないけど。
0583名前は開発中のものです。2010/06/09(水) 09:57:55ID:0uRXgvrI
>>582
敵全部ってのはどうやって指定するの?

クラス使ってない自分の場合それぞれforループで敵情報の構造体の数分回して、
EnemyMove()とか関数に飛ばして基本行動取ったあと行動パターンIDのswitchで固有行動取らせてる
Drawもしかり

敵の作成と削除は専用の関数SetEnemy、DeleteEnemyを用意してあげて、
空いてる敵ナンバーを配列から検索→その番号の構造体に基本情報を代入など一括で行ってる
0584名前は開発中のものです。2010/06/09(水) 10:14:18ID:VCMaahjg
俺も583と同レベルの知識しか持ってないから、583と同じ疑問を持ってるなw
クラスとか、ググれば解説載ってるところはたくさんあるんだけど、
じゃあそれをゲームにどう活かすのか、となるとさっぱりなんだよね。
0585名前は開発中のものです。2010/06/09(水) 10:23:51ID:UtwkxiER
std::vector<Unit*> enemy;

enemy.push_back(new EnemyA() );
enemy.push_back(new EnemyB() );
enemy.push_back(new EnemyC() );

for(int i=0; i < enemy.size(); i++)
{
enemy[i].Move();
enemy[i].Draw();
}

とか、そういう。(上記だとリークしやすいから自作リスト作ってるけど)
初心者ならこういう設計でまず作ってみれば?
0586名前は開発中のものです。2010/06/09(水) 10:30:52ID:0uRXgvrI
>>585
vector遅くね
自分だとその場合EnemyMove(i);とか指定するんだけどどうもメリットが見えてこないな

自分はActionScript2,3からプログラミング入ったタチなんでオブジェクト指向は使えることは使えるが、いまいちそれを便利に使いこなせるかというと謎
0587名前は開発中のものです。2010/06/09(水) 10:36:44ID:zbUE9j/c
スレッドって
どうやればいいの?
0588名前は開発中のものです。2010/06/09(水) 10:47:02ID:UtwkxiER
>>586
vectorが遅いとかどこの組み込み(ry
コピーのオーバーヘッド防ぐ為のポインタの動的配列なんだがぬ。まあ、あくまで擬似コードだけど。

一応解説しておくと、EnemyA,B,CはUnitクラスから派生したサブクラスで動作から何からが違う。
そういうのを一括で扱えるポリモーフィズムとかが便利なんだよ。
まあ実際、ある程度の規模作らないと実感出来ないだろうけども。
0589名前は開発中のものです。2010/06/09(水) 11:08:26ID:0uRXgvrI
>>588
つまりswitchなどしなくてもあらかじめ共有事項を継承した個別オブジェクトが作れるのでそれを実行するだけ、と
なんとなく便利な点は見えてきた ありがとう
0590名前は開発中のものです。2010/06/09(水) 11:19:01ID:UtwkxiER
なんか自己解決しちゃったからアレだけど擬似コード
http://www1.axfc.net/uploader/Sc/so/122025
VC++使ってるならコンパイル通るんじゃね・・・

ちなみに、固有IDで識別してswitchとかifで動作を分けるって実装はアリだけど、
可読性とバグり場所の割り出しが比較的大変になるからあんまオススメはしない。
0591名前は開発中のものです。2010/06/09(水) 11:30:52ID:LKXhX8sr
横からトン
参考にしてみるよ
0592名前は開発中のものです。2010/06/09(水) 11:52:00ID:0uRXgvrI
>>590
見てみたけどなかなか良いね ソースもすっきりしてるし
enemy.push_back(new EnemyA(0,0));
ここでEnemyAってのをIDで指定はできる?
敵の種類を全部IDで管理してるのでそれをそのまま使えるととても楽
まあswitchしてもいいけど
0593名前は開発中のものです。2010/06/09(水) 12:07:09ID:VCMaahjg
俺も横から頂きました。ありがとう、勉強させてもらいます。

ちなみに俺はswitchで全部やってるけど、キャラが増えるごとにID追加したりswitchの振り分け増やしたりと結構面倒です。
つっても2,3箇所追加する程度だし、追加忘れのバグなんてすぐ解消できるから大して問題にはならないんだけど。
0594名前は開発中のものです。2010/06/09(水) 15:16:42ID:48SBsXu9
vectorじゃなくてmapでやればidも設定できる。サーチ時間はO(1)だ。
0595名前は開発中のものです。2010/06/09(水) 15:18:06ID:48SBsXu9
STLのコンテナ使うと敵が弾を撃ったときとかにその弾の行動が1フレーム遅れない?
0596名前は開発中のものです。2010/06/09(水) 15:23:47ID:HVkgofce
>>595
変な書き方をして失敗してなければ、そんなことはないと思うんだが
0597名前は開発中のものです。2010/06/09(水) 15:32:51ID:48SBsXu9
イテレータを使ったfor文の中で敵のオブジェクトを行動させて、
その中で弾をコンテナに詰め込もうとするとイテレータの指し先がバグってうまくいかない。
一旦弾オブジェクトを保存しといてfor文が終わった後で追加しないとうまくいかない。
0598名前は開発中のものです。2010/06/09(水) 16:16:29ID:HVkgofce
>>597
それコンパイラは何?
他のコンパイラでもそんなんか、試してみたら?
0599名前は開発中のものです。2010/06/09(水) 16:57:18ID:a8C7ZegT
コンパイラ以前に書き方が悪いだけだろ
0600名前は開発中のものです。2010/06/09(水) 17:27:44ID:php2S9h0
>>590
自分も横d

なんという俺得話題。
自分も教科書的には使い方を知っていても
いまひとつ便利なのが実感できなかったから勉強になる
0601名前は開発中のものです。2010/06/09(水) 17:38:14ID:s2ZVMfG6
ユニットをクラス化する方法はクラス間の関係が複雑になると辛くなってくる。
で、結局は機能毎にクラスを作り始めるんだよな。
0602名前は開発中のものです。2010/06/09(水) 17:46:14ID:UtwkxiER
クラス間はマネージャクラス作って処理させるなぁ
0603名前は開発中のものです。2010/06/09(水) 17:47:59ID:odCY/DAb
おまえらの言ってることが半分も分からん
0604名前は開発中のものです。2010/06/09(水) 18:05:14ID:UtwkxiER
>>592
idを指定して生成したいって言うなら、ファクトリクラス作って、
そこにid入れたら該当のが帰ってくるようにすればいいんじゃね
こんなん。
http://codepad.org/jFUfjGCL

違う意味だったらすまんね。
0605名前は開発中のものです。2010/06/09(水) 18:09:07ID:0uRXgvrI
>>604
なるほど。それで行けそうだ、ありがとう

あともう一つだけスレチ全開で聞きたいんだが、オブジェクトの削除はどうするのが定石?
this.deleteとかやると消えるけど元のリストからは除外されないからアクセス違反になるし、
そもそもshared_ptr使うならdelete要らんはずだし
削除フラグたったら-1とか戻り値にしてmainのほうでリストから除外してあげるのかな
0606名前は開発中のものです。2010/06/09(水) 18:10:48ID:Saa6zN7x
そらリストから消してやるだろうな
0607名前は開発中のものです。2010/06/09(水) 18:14:06ID:UtwkxiER
そういう設計なら、フラグチェック時にvectorとかから除外するのが普通じゃねえの。
俺は自前でユニット管理用リストクラス作ったけど。
0608名前は開発中のものです。2010/06/09(水) 19:05:20ID:bOQzSTFf
昔は俺もオブジェクト指向?クラス?くだらね。とか思ってた。
C++はライブラリが大きすぎて組み込みでは使えません(キリ
とか、ざまみろって顔して言ってやった。
でも今じゃCだけでプログラミングとか面倒で無理。
プログラミング自体が面倒になってきたけど(´・ω・`)
もう年だな。
0609名前は開発中のものです。2010/06/09(水) 19:18:14ID:UtwkxiER
>>605
暫くコード書いてなかったからリハビリのつもりで書いた程度のもんだけど、
http://www1.axfc.net/uploader/Sc/so/122080
こんな方式とか。
ループ回すのがロスだと感じるなら一本化してもいいんじゃね。
たぶんリークしてないけど、チェックはしてないからメモリリーク起こってたらすまんね。

shared_ptrの関係でTR1使ってるから、VC++2010じゃないなら追加パック入れる必要あるかもね。
リーク上等で、生ポインタに書き換えても動くとおもうよ。
0610名前は開発中のものです。2010/06/09(水) 21:20:21ID:OHlI6Jwz
enemy[i].Draw(); みたいなメンバ関数持たせると、描画順の管理が難しくなるような気がするんだけど、
みんなはこの辺どうしてる?
0611名前は開発中のものです。2010/06/09(水) 21:43:29ID:HVkgofce
.Draw();を実行すると、描画順位情報が更新されていって、
1回だけ呼ばれる描画で描画順位リストを参照しつつ全部を順位通りに描画したら?
関数名をDraw以外にした方がいいと思うけど
0612名前は開発中のものです。2010/06/09(水) 21:47:30ID:7j2XNTLj
俺が昔作ったやつだと、multimap使って複数のインスタンスを同じIDで登録してたかな。
で、描画したい順でIDを分ける。
細かく分ける必要なかったし、
リストから引っ張り出したい場合も少なかったから特に問題なかった。
0613名前は開発中のものです。2010/06/09(水) 23:26:50ID:EBh2wsCf
描画する奴はみんなDrawObjectを継承してる
描画順はそいつが持ってる
0614名前は開発中のものです。2010/06/10(木) 02:54:11ID:lXxTh4Vg
>>613
もう少し詳しく頼む
0615名前は開発中のものです。2010/06/10(木) 04:55:12ID:yWC+RkcU
描画順の実装なんていくらでも実装方法あるんだから自分で考えれ
0616名前は開発中のものです。2010/06/10(木) 11:03:41ID:+lUQKLj0
皆そんな細かく描画順を決めてるのか
俺は自機、自弾、敵、敵弾等とざっくりわける程度なのだが
0617名前は開発中のものです。2010/06/10(木) 12:53:52ID:mSlqKyI5
巨大キャラとそのパーツとか、文字とかウィンドウとか、
色々自由に指定できるようにしておくと、楽だったよ。

とくに SetDrawBlendMode で描画ブレンドモードを変更して、半透明とかさせたりする時
「描画順○番から○番までの画像を半透明にする」とか簡単に実装できて。
0618名前は開発中のものです。2010/06/12(土) 17:52:17ID:7AGfNu8R
よくあるFPSゲームのように
マウスの移動で、角度を計算して、カメラ方向をかえていたんですが
これだと
どんな方向にカメラが向いていても
x、y、zに関係なく、たとえばWを押したら、前に進めるような感じにできるか
思いつきません。
どうすればいいでしょうか
0619名前は開発中のものです。2010/06/12(土) 18:31:54ID:Wt0Om7RQ
「プレイヤーキャラの向き」ベクトルを作って、カメラの向きはそれに依存させる。カメラ位置も同じように。
で前に進む時は 「プレイヤーキャラの向き」×前進スピード をキャラの位置に加算するだけ
0620名前は開発中のものです。2010/06/12(土) 19:55:23ID:HLzayOcF
Y軸の回転行列でベクトルを回転させる
0621名前は開発中のものです。2010/06/13(日) 00:20:11ID:iwG7ZkIG
ム板で似たような話を見つけたから参考にすればいいと思うよ。
http://pc12.2ch.net/test/read.cgi/tech/1274521960/478-480n
0622名前は開発中のものです。2010/06/13(日) 00:49:53ID:6s0+7lHl
似たようなっつーかマルチだろどう見ても
0623名前は開発中のものです。2010/06/13(日) 12:19:12ID:8D3RSbXg
DXライブラリ使ってるゲームが完成したらここで晒していいですか
0624名前は開発中のものです。2010/06/13(日) 13:01:49ID:PKCWUybs
>>621

全部お前のマルチ&自演だろ、ボケ
06256212010/06/13(日) 13:46:25ID:iwG7ZkIG
>>624
マルチ指摘しちゃってごめんね?
0626名前は開発中のものです。2010/06/13(日) 14:03:35ID:+Sk1kXdB
>>620
の言うように
target.x=x*cos(atan2(m_move.x, 350.0f))-z*sin(atan2(m_move.x, 350.0f));
target.z=x*sin(atan2(m_move.x, 350.0f))+z*cos(atan2(m_move.x, 350.0f));

SetCameraPositionAndTarget_UpVecY( CameraPos, VGet(target.x ,target.y, target.z) ) ;

とやってみたんですけど
なかなかうまくいきません
なんか間違っていないでしょうか
0627名前は開発中のものです。2010/06/13(日) 14:22:30ID:lDfgu/cO
Position hogehoge(Position pos1, Position pos2, ushort val)
{
double px, py, pz;
duoble tx, ty, tz;

double len;
Position ret;

px=pos1.x;
py=pos1.y;
pz=pos1.z;

tx=pos2.x;
ty=pos2.y;
tz=pos2.z;

len = sqrt( pow((px - tx),2) + pow((py - ty),2) + pow((pz - ty),2) );

ret.x = ((tx-px)/len)*val;
ret.y = ((ty-py)/len)*val;
ret.z = ((tz-pz)/len)*val;

return( ret );
}
0628名前は開発中のものです。2010/06/13(日) 15:06:05ID:lDfgu/cO
moveVal = hogehoge(obj.pos, targetPos, obj.spd);
obj.pos.x += moveVal.x;
obj.pos.y += moveVal.y;
obj.pos.z += moveVal.z;
0629名前は開発中のものです。2010/06/13(日) 15:09:29ID:lDfgu/cO
>>627
×: len = sqrt( pow((px - tx),2) + pow((py - ty),2) + pow((pz - ty),2) );
○: len = sqrt( pow((px - tx),2) + pow((py - ty),2) + pow((pz - tz),2) );
                                      ~~
lllorz 連投スマソ
0630名前は開発中のものです。2010/06/17(木) 04:58:59ID:fO9hNHBj
>>627-629
0631名前は開発中のものです。2010/06/18(金) 17:36:58ID:vCUhQCjK
これ見てよ↓
http://livedoor.2.blogimg.jp/agomesu/imgs/5/8/58ff257e.jpg
ばらまこうぜ!
0632名前は開発中のものです。2010/06/18(金) 20:34:37ID:lFlygaI9
規制されたいのね
0633名前は開発中のものです。2010/06/19(土) 23:09:57ID:Fjut0XWt
マルチスレッドがよくわからんのだけど
誰か簡単なサンプル書いてくれる心優しいお方はおりますか

・sound1.wavをロードしたいと思った時にLoadSound1()を呼ぶ
・LoadSound1は勝手に新しいスレッドを作ってsound1.wavをグローバル変数sndにロード
・メインスレッドからはLoadSound1の作業が終わったかどうか好きな時に確認できる

こんな感じのがあればとても便利なんどす
0634名前は開発中のものです。2010/06/20(日) 00:29:59ID:v3W4K7My
よくわからないのにマルチスレッド使ったらPCクラッシュして死ぬぞ


ソースは俺
0635名前は開発中のものです。2010/06/20(日) 00:50:04ID:+g7bu3Jz
希望の言語くらい書こうぜ
0636名前は開発中のものです。2010/06/20(日) 01:04:13ID:U+gpNNlp
C++で
0637名前は開発中のものです。2010/06/20(日) 02:31:37ID:KdLne53e
>>633
こんな感じでどう?
ttp://codepad.org/KmP9TZnS
0638名前は開発中のものです。2010/06/20(日) 23:02:00ID:U+gpNNlp
>>637
ありがとう!!試してみる
0639名前は開発中のものです。2010/06/23(水) 01:49:39ID:nyhvNRS5
fovとカメラのZ座標から、スクリーンにどれくらいの範囲(ワールド座標系で)が映ってるか調べる計算式ってある?
0640名前は開発中のものです。2010/06/27(日) 19:11:38ID:86T1F/V0
すいません。2DRPGのマップチップを表示する処理を書いてるんですが、
ちょっと描画速度が遅いようなので早くしたいんですがどうしたらいいですか?
今はこうやってます。

for(全ライン描画が終わるまでループ){
  for(全列描画が終わるまでループ){
    int temp_graph = DerivationGraph() (マップチップ画像から1チップ分の画像を抜き出す)
    DrawExtendGraph()         (ウィンドウサイズはx1, x2, x3に対応している)
    DeleteGraph(temp_graph)
  }
}
flip()

よろしくお願いします。
0641名前は開発中のものです。2010/06/27(日) 19:29:12ID:6/J6CRtL
int temp_graph = DerivationGraph() はその場所で何回も実行する必要あるの?
マップチップというくらいだから使い回しができそうだけど
0642名前は開発中のものです。2010/06/27(日) 19:56:21ID:86T1F/V0
予め1チップ分のグラフィックスとして全部切り出して保存しておくということですかね。
あとDirectXのSpriteを使うのとどっちが早いんですかね。
0643名前は開発中のものです。2010/06/27(日) 20:08:25ID:8d2Wmv3D
初めから切っておけばいいじゃん なんでわざわざ出来たてホヤホヤつかってんだ
0644名前は開発中のものです。2010/06/28(月) 09:31:33ID:3UyQDwhj
1回1回読み込んでちゃ遅い希ガス
読み込むのは普通ゲームループ回す前じゃね?
0645名前は開発中のものです。2010/06/28(月) 09:53:07ID:Uc3NlpeP
そもそも画像の一部分を抜き出して拡大表示するAPIが用意されていないことがおかしい
0646名前は開発中のものです。2010/06/28(月) 10:43:58ID:Uc3NlpeP
アニメーションするときって画像を全部ばらしておくのが一般的なの?
0647名前は開発中のものです。2010/06/28(月) 11:55:52ID:dDVUF1oq
一般がどうかしらんが、俺はそうする。
というかいちいち都度バラす理由なんてない。
0648名前は開発中のものです。2010/06/28(月) 17:07:05ID:L8W0Z2C3
>>645
つ DrawRectExtendGraph()。
便利な関数ほどリファレンスには載ってない気がする。
LoadDivGraph()で分割して読み込んだ時も
画像ハンドルの扱い自体はだいたい同じ。

自分は画像用のクラス作って、描画時に画像の
任意の部分(4コマ目とか)や描画位置や拡大縮小値を
引数で指定してるけど。
0649名前は開発中のものです。2010/06/28(月) 17:11:19ID:L8W0Z2C3
>アニメーション用の画像。
ゲーム製作本とか、抜き出した市販ゲームのデータを
見ると纏めてるものが多いような気はする。
あと主観だけどちっこい画像をいっぱい読むより、大きい
画像1枚にまとめた方がメモリ仕様効率が良いイメージはあるけど
テストして比較してないので実際にはわかんない。

個人での製作だとメモリ気にするほど枚数描けないので
どっちの方法でも、自分の好きなように作るのが
一番いいと思うけど。
0650名前は開発中のものです。2010/06/28(月) 17:51:45ID:km9K+gF5
画像ファイルは纏めておいていいよ。
使う前にあらかじめ下ごしらえを済ましておけということ。
0651名前は開発中のものです。2010/06/29(火) 02:11:01ID:+dkWBY5G
>    DrawExtendGraph()         (ウィンドウサイズはx1, x2, x3に対応している)

ウィンドウサイズにあわせて適切な大きさで描画するっていうことだと思うけど
Drawされるすべての画像にいちいち同じ拡大指定するくらいなら

int SetWindowSizeExtendRate( double ExRate ) ;

を使ったほうが手っ取り早いよ
0652名前は開発中のものです。2010/06/29(火) 08:52:50ID:sT+cJrhl
>>648
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1816
>画像の大きさより、分割数の方が重要です
>もし分割してできるグラフィックハンドルの数が 10000 や 20000 になるのでしたら DrawRectGraph の方がよいです
>( 一度に保持できるグラフィックハンドルの数は 32768 個が限界なので )
>もし分割される数が 1000 くらいでしたら、LoadDivGraph の方が良いです
>( DrawRectGraph より LoadDivGraph で分割されたグラフィックハンドルを使用して描画するほうが高速なので )
0653名前は開発中のものです。2010/07/05(月) 03:50:47ID:J/q6czOv
音楽mp3の読み込みで遅くてなやんでる人いない?
龍神録サンプルをメイクしたのは速いのに自作のプログラムが遅い・・・
原因はこれでした。

SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ) ;

これが無いと三メガバイト程度の楽曲読み込みのために五秒ほど
ゲームが止まる。
0654名前は開発中のものです。2010/07/05(月) 09:49:57ID:FWYBWtBP
いや、常識だから。
0655名前は開発中のものです。2010/07/05(月) 10:04:52ID:vTW2jlgt
普通一つの関数使うとき関係する関数の説明読まないか?
0656名前は開発中のものです。2010/07/06(火) 03:32:09ID:sY6QHNlh
Xboxのコントローラーで操作できる?
0657名前は開発中のものです。2010/07/06(火) 04:22:46ID:QuyeFLti
よゆう
0658名前は開発中のものです。2010/07/06(火) 10:31:04ID:sY6QHNlh
そうですか
純正ドライバーで動かなかったらどうしようかなって思ってました^^
0659名前は開発中のものです。2010/07/06(火) 17:11:30ID:N9jDhzAQ
DXライブラリそのものの質問ではないんだが。

ゲームの動画を撮ろうと思ったら、なんだか上手くキャプチャ出来なかったんだ。
DxLibの3.00eは問題なく撮れてたのに、
ソースをそのまま最新版(3.02e)に差し替えると不具合が起こるんだよなあ。
同じような症状の人は居るだろうか。

どこに原因があるかまでは分からないけど、
3.00ー>3.02でそんなに大きく変わったんだろうか…。


開発&録画環境:WindowsXP SP3 (32bit)
キャプチャソフト:アマレココライト ttp://amamaman.hp.infoseek.co.jp/

0660名無しさん@そうだ選挙に行こう2010/07/10(土) 15:03:18ID:pn5TIPf9
俺はホリ電気のPS3のコントローラを無理やりつなげてるぞwww
0661名前は開発中のものです。2010/07/14(水) 03:59:23ID:S2nxZt+T
HORIのPS3コンは結構お勧め
何もしなくてもPCで使えるよ

振動がないけど、その分軽いのがいい
0662名前は開発中のものです。2010/07/14(水) 04:52:38ID:uUkNpoIc
箱○のは非公式パッチあてないと十字キー認識しないのがね
0663名前は開発中のものです。2010/07/14(水) 17:28:45ID:T3KW4TY8
>>662
Xbox360コントローラはドライバをインストールすれば普通に使える筈なんだけど
DirectInputという古いAPI使っていたら正常に認識できない、XInputでないと駄目なんだっけ
DXライブラリは技術的に遅れているから古いの使ってるのだろうなぁ
■ このスレッドは過去ログ倉庫に格納されています