[過去ログ] DXライブラリ 総合スレッド その5 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
840: 2010/02/05(金)23:14 ID:+ZQFEOdr(1) AAS
DXライブラリで
>read( Nバイト );
ってどうやんの?
841: 2010/02/05(金)23:19 ID:qcSvBbHw(5/5) AAS
スレッド使ってロードしようとしたらエラー吐いて落ちた・・・。
やっぱりLoadGraphはマルチスレッド対応してないってことなのかな・・・。

>>839
kwsk
842: 2010/02/05(金)23:29 ID:ax38IgEf(1) AAS
>>835のコードだったらわざわざマルチスレッドにせずとも>>826でやればいいような気もするが
843: 2010/02/05(金)23:31 ID:9VhG5z2Z(3/3) AAS
自己満足で!(超重要
844: 2010/02/05(金)23:45 ID:tUrF1ELA(1) AAS
スレッド系はきっちり作らないと他人の環境限定で
ある日突然落ちたりしてデバッグで泣くことになるぞ。

CPUのコア数によって出たり出なかったりとかするからな。
845: 2010/02/06(土)02:01 ID:npht8xA6(1) AAS
Now loading...のアニメーションを動画にしたらどうかな?
846: 2010/02/06(土)02:46 ID:Y+vgz54E(1) AAS
その動画を読み込ん出る間のNow Loading画面が欲しくなるね!
847: 2010/02/06(土)03:13 ID:ryKI6KOb(1) AAS
Now loading...をLoading Complete!に修正すればよくね
848: 2010/02/06(土)04:54 ID:sLGxAtvo(1) AAS
「ロードした」なら使ってもいい!
849
(2): 2010/02/06(土)07:42 ID:heYW4fwh(1/3) AAS
>>829はネタのつもりで書いただろうけど、実際にやってる人を見たことあるよ。
静止画を表示しながら読み込み(2秒間)⇒「NowLoading...」(0.2秒)
本人曰く「ただ気分を味わいたかった」と。
でも実際のゲームを見てみるとプレイヤーからはそれは分からないし、むしろ「ロード早いなあ」という印象すら受けた・・・
これも一つの答えなんだと思ったよw

マルチスレッドを使う方法は↓に書いてある。
外部リンク[cgi]:hpcgi2.nifty.com
省1
850: 849 2010/02/06(土)07:48 ID:heYW4fwh(2/3) AAS
すみません。
掲示板のリンクがダメですね・・・
記事No「1896」です。
851: 2010/02/06(土)09:42 ID:AjOTNEN+(1/2) AAS
>>849
LoadDivGraphで分割読み込み、ってアレはひとつの画像を複数の画像に分割するんであって、
分割してひとつの画像読み込むわけじゃないっていう

マルチスレッドの方は読んでみた
応用してやれないか試してみる
852: 2010/02/06(土)13:12 ID:6i+WO82B(1) AAS
そもそも円滑にアニメーションさせる必要なくね?
要所要所で動作が若干止まったりしたほうが読み込んでるっぽくてユーザも安心するし
853: 2010/02/06(土)13:15 ID:m1I5HW8a(1) AAS
じじいの酷い言い訳
854: 2010/02/06(土)13:30 ID:xpV9NzXE(1) AAS
じじいくらべならまけませんよ?
855: 2010/02/06(土)14:19 ID:heYW4fwh(3/3) AAS
アニメーションの種類によるんじゃなかな?
読み込みの進捗を表示させるようなタイプなら>>823で多少カクカクしても問題ないと思うし、むしろマルチスレッドにすると同期を取るのがめんどくさいし。
逆にもっと派手なアニメーションだと処理落ちすると見栄えが悪くなるのでマルチスレッドにするしかないと思う。
ただ個人的には同人ゲームなら静止画で「NowLoading...」と表示させておくだけで十分だと思うんだけど・・・
856: 2010/02/06(土)15:27 ID:hilmmGtE(1) AAS
静止画1枚だとフリーズしてんのかな?って不安になる
857: 2010/02/06(土)16:16 ID:+7JZw7l0(1) AAS
カクカクでもいいならマルチスレッド必要ないよな
858: 2010/02/06(土)16:21 ID:AjOTNEN+(2/2) AAS
せめてNowLoading... [ ココ ]   で何かのアニメーションはさせたいよね
859: 2010/02/06(土)22:28 ID:fMJ0B1gK(1) AAS
そこは操気弾のアニメを
860
(1): 2010/02/06(土)23:38 ID:cCb1U7aq(1) AAS
これって3dもつくれるんだよね?
Blenderにも対応してる?
861: 2010/02/07(日)07:39 ID:cnkJTmx7(1) AAS
>>860
>これって3dもつくれるんだよね?
作れるよ。

>Blenderにも対応してる?
モデリングソフトの対応状況は過去レスを見てみて。
BlenderはFBXが使えるみたい。
862
(2): 2010/02/11(木)23:41 ID:AgKonL0C(1) AAS
メタセコで武器だけ作って、それを3Dのキャラモデルに持たせるのはどうやるんだろう。
DXライブラリの範疇ではないのかな。

なにか調べる取っ掛かりはない?
863
(2): 2010/02/12(金)02:48 ID:iGppiI+j(1) AAS
位置とか角度の親子関係を作れればいいんじゃないかな
864
(1): 2010/02/12(金)04:35 ID:Z51oc7q7(1) AAS
>>862
DXライブラリは知らんけどリアルタイムレンダリングがデフォじゃない?
865
(1): 2010/02/12(金)07:46 ID:gSVuHgsF(1/3) AAS
>>862
「コンストレイント」で検索してみるといいよ。
やり方は簡単で>>863の言う通り、「手」の移動と回転を「武器」に加えるだけ。
866
(1): 2010/02/12(金)15:42 ID:9oJmNhGP(1) AAS
DrawChipMapってどうやって使うの
867
(1): 2010/02/12(金)21:24 ID:m/RgGbdM(1) AAS
GetNowHiPerformanceCount()の内容をprintfしたいんですが%dの部分を何に変えたらいいですか
868
(1): 2010/02/12(金)21:53 ID:5g1bekrX(1) AAS
g
869
(1): 2010/02/12(金)22:17 ID:gSVuHgsF(2/3) AAS
>>867
試してないけど戻り値がLONGLONG型なので「%I64d」か「%lld」じゃないかな。
870: 2010/02/12(金)22:39 ID:3A3ijQ60(1) AAS
>>863-865

サンクス!

やり方、納得です。
取り敢えず手の回転並進行列とって、そのまま武器に適用させてみる。
871: 2010/02/12(金)23:19 ID:gSVuHgsF(3/3) AAS
>>866
チップグラフィックを使ったマップ描画
int MapWidth, MapHeight : マップデータ全体の幅と高さ
int *MapData : マップデータが格納されたアドレス
int ChipTypeNum : マップに使うチップの種類の数
int *ChipGrHandle : チップのグラフィック配列のアドレス
int TransFlag : 透過色処理の有無
省5
872: 2010/02/13(土)00:47 ID:lykIm1Dn(1) AAS
>>868-869

サンクス!

lldでいけました。
873
(2): 2010/02/13(土)18:36 ID:nVI35ftX(1/2) AAS
1つの画像に対して、縦横で別倍率の拡縮、および回転を同時に行うとき、
何か簡単な方法って無いものかな?
拡縮してから回転させたときと、回転させてから拡縮するときとで結果が異なるけどさ。

無いなら無いで、自前で座標を計算してDrawModiGraph()に投げるつもりだけれど。
874: 2010/02/13(土)19:30 ID:pV6Ocbxc(1) AAS
ないので俺は自分で関数作った
875: 2010/02/13(土)22:38 ID:nVI35ftX(2/2) AAS
そっか、ありがと。
876: 2010/02/14(日)21:14 ID:9DOaOyQ2(1/5) AAS
半透明処理で

ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・
ScreenFlip()

って書いたら、1箇所使っただけなのにかなり処理が重くなる

DrawGraphが悪い?
省1
877
(2): 2010/02/14(日)21:20 ID:lH/o5bwf(1) AAS
いや、俺普通に何箇所も使うけど重くなんないよ?

本当にその四行だけで試してみた?
878
(1): 2010/02/14(日)21:21 ID:I7ZtRrpB(1/2) AAS
フレームスキップは基本過ぎるだろ
879
(2): 2010/02/14(日)21:24 ID:9DOaOyQ2(2/5) AAS
>>877

ClearDrawScreen()
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
SetDrawBlendMode( DX_BLENDMODE_ALPHA, ・・・
DrawGraph(・・・ // 半透明させるの画像
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
省6
880
(1): 2010/02/14(日)21:26 ID:9DOaOyQ2(3/5) AAS
>>877
フレームスキップってどうやればいいでしょうか?
画面処理を別スレッドにして、処理時間オーバーしたら放棄、
でいいの?
881: 2010/02/14(日)21:27 ID:9DOaOyQ2(4/5) AAS
すみません
880 は >>878へのレスです
882: 2010/02/14(日)21:32 ID:r2nQlTSv(1) AAS
>>879
いちいち戻さない方が速いかも
883
(1): 2010/02/14(日)21:34 ID:I7ZtRrpB(2/2) AAS
>>880
ググれば幾らかサンプルコードが出てくる。確か龍神録でも触れてたと思うし。
PC上で動くゲームを作るのなら秒間60回更新するように調整するのは基本中の基本。
DXLIBに限った話じゃない。CPU使用率が異常に高かったりしたら間違いなくこっちの問題でしょ。
884: 879 2010/02/14(日)21:58 ID:9DOaOyQ2(5/5) AAS
3番目の↓
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 )
DrawGraph(・・・ // 普通の画像
が処理を重くしてる原因だったので、これを削ることにしました
ありがとうございます

龍神録というサイトを初めて知ったので、質問してよかった
>>883 ありがとうございます
885: 2010/02/15(月)08:08 ID:BUryD20y(1/5) AAS
何故そこだけ問題があったんだろう。気になる。

>873だが、色々な変形に対応させようと思うと結構面倒だな。引数も増えるし。
回転と拡縮だけにしてしまうか。

……とここまで書いて、
画像クラスを作ってしまえば簡単だということに気づいた。
886
(1): 2010/02/15(月)20:26 ID:ccjc3ij8(1/2) AAS
平面だけでいいなら2*2行列に行列演算を繰り返して
最後にその4点にあわせてDrawModiGraphするってのが汎用的で記述もわかりやすくていいんじゃね?
どっかからできの良い数学ライブラリ持ってきてもいいし
回転拡大スライド程度なら簡単な行列計算だけに絞れるから自分で作ってもいい
887: 2010/02/15(月)20:55 ID:BUryD20y(2/5) AAS
AA省
888
(1): 2010/02/15(月)21:00 ID:K58uOKXK(1) AAS
・画像内での基準点の位置
・上の基準点が実際に描画される位置
・基準点を中心としたスケール
・基準点を中心とした回転角度
で十分だと思うけど
889: 2010/02/15(月)21:57 ID:BUryD20y(3/5) AAS
>>888
それだけで引数7つあるぜ?

各変形の優先度を決める(もしくは同じ変形を複数回行う)とか、
回転と拡縮以外の変形も出来るようにするなら、どれだけ増えるんだ。
890
(1): 2010/02/15(月)22:01 ID:8F/ucvej(1/3) AAS
回転と拡大縮小って別に順不同じゃね
基点となる座標が変われば別だが
891
(1): 2010/02/15(月)22:17 ID:BUryD20y(4/5) AAS
>>890
ゲームの都合上、縦横で別々に拡大率を設定できるようにする必要があった。

正方形を、90度回転させてから、横に2倍
□□ → ■□ → ■■□□
■■ → ■□ → ■■□□

横に2倍にしてから、90度回転
                ■□
省4
892
(1): 2010/02/15(月)22:23 ID:8F/ucvej(2/3) AAS
>>891
それって渡す引数のほうを工夫すればいいんでねーの
二つ目は90度回転してから縦に二倍しても同じものを得られるわけだし

DrawExRotaGraph2(int x,int y,int cx,int cy,double ExtRateX,double ExtRateY,double Angle,int GrHandle,int TransFlag,int TurnFlag);
10個だな
893
(1): 2010/02/15(月)22:29 ID:BUryD20y(5/5) AAS
>>892
質問、90度以外でも渡し方次第で出来る?
894: 2010/02/15(月)22:31 ID:8F/ucvej(3/3) AAS
>>893
出来るんじゃね
895: 2010/02/15(月)22:57 ID:ccjc3ij8(2/2) AAS
引数が多いと見苦しいし、書く順番でちょっと混乱しそう
それに回転と伸縮どっちが優先か見た目に明らかじゃないのも気になる
896
(1): 2010/02/16(火)00:28 ID:ytIVItbu(1) AAS
なんに使うのかがそもそも想像できない俺……。
897
(4): 2010/02/16(火)03:07 ID:JDL3KQO6(1/4) AAS
>>896
こんな感じでどう?
外部リンク[html]:gamdev4.hp.infoseek.co.jp
898
(1): 2010/02/16(火)04:51 ID:iDbvu+FE(1) AAS
>>897
( ゚д゚)ポカーン
899: 2010/02/16(火)05:23 ID:g5MLEwas(1) AAS
ようやく理解できた
900: 2010/02/16(火)06:40 ID:OQUeahIO(1) AAS
3Dでやれば簡単だぜ
901: 2010/02/16(火)09:20 ID:aK6xRRB6(1) AAS
把握。
そういう力技、嫌いじゃないぜw
902: 898 2010/02/16(火)10:16 ID:JDL3KQO6(2/4) AAS
すまん、いい例えが思い浮かばなかったんだw
903: 2010/02/16(火)10:17 ID:JDL3KQO6(3/4) AAS
名前間違えた、897だ
904
(1): 2010/02/16(火)11:28 ID:iwCPzVGw(1/2) AAS
GetDrawStringWidthの第二引数StrLenはどういう意味があるのでしょうか?
マニュアルには
> StrLen として文字列の長さをわざわざ指定する ようにしたのは色々な側面から見て文字列の長さを指定できるよう にしたほうが良いと思ったからです。
と書いてありますが、どういうケースで指定が必要になるのか想像がつきません。
905
(1): 2010/02/16(火)12:41 ID:ghUeZnk+(1) AAS
>>904
DXライブラリの作者さんがそう考えただけで、別に必要なければ使わなければいいだけでは?
例を挙げておくとこんな感じ。第二引数は指定できなくても書けるけど複雑になってしまう。

char Str[] = "今日もいい天気だ";
int MaxWidth = 50; // この幅に収まるように描画したい
int MaxChar = 0; // MaxWidthに収まる最大文字数
for( int i = 0; i < strlen(Str); i++ )
省9
906: 2010/02/16(火)12:56 ID:iwCPzVGw(2/2) AAS
>>905
なるほど、理解しました。
907: 2010/02/16(火)13:02 ID:JDL3KQO6(4/4) AAS
辛うじて一度だけ使った記憶があるな。
メニュー画面だったかな。文字列をセンタリングして表示するのに利用した。

文字列の前後に空白や記号がある場合、
それらも含めた文字数で横の長さを決めると、ちょっとズレて見えることがある。

……ぶっちゃけた話、
他にも方法は色々あるだろうとか、メニュー画面くらい画像にしろよとか思うので
使う機会はあんまり無い気がする。
908: 2010/02/16(火)17:38 ID:S7mGVY2n(1) AAS
C/C++以外からDLL経由で使おうとするとnull文字で終わってない文字列とか渡すのに便利です
909: 2010/02/16(火)21:28 ID:QXMNjoNk(1/2) AAS
>>873
DrawModiGraph()とアフィン変換
アフィン変換 クラスでググるといいかもしれない
910: 2010/02/16(火)22:33 ID:7n/4grgh(1) AAS
逆に文字列の長さよりもStrLenの方が短い場合とかに使うんじゃね?
デバッグ文表示で最後まで表示しないで途中で切ることとかよくあるんじゃね?
911: 2010/02/16(火)23:25 ID:b96KcuEj(1) AAS
アフィン変換か・・・左右反転と拡大縮小って同時にできるもんなんだな、しらなかった
でもこれってソースになる元画像を読んでからやるの?格納してからメモリ上の画像をハンドルで指定して操作したりできるんだろうか
912
(2): 2010/02/16(火)23:50 ID:QXMNjoNk(2/2) AAS
あ、左右反転もなのか
DrawModiBillboard3Dのがいいと思う
913: 2010/02/17(水)00:19 ID:BMwZx7QF(1/2) AAS
>>912
いや自分は873ではないんだけれども、参考になったので書かせてもらった。横槍すまんね
DrawModiBillboard3Dって左右反転できるのか。x1を右上の座標、x2を左上の座標、x3とx4も同様に交換ってやれば反転するのかな?
914: 2010/02/17(水)02:18 ID:V7zWpnOB(1/2) AAS
ゲームで銃の連射中の音を作りたい
例えば 「ドッギュウン」て音声のファイルがあったとする。
そのファイルを使って単発発射で「ドッギュウン」、連射で「ドッドッドッドッドッギュウン」ってなカンジにしたいんだけど
音声の再生中かを CheckSoundMemで調べて、再生してなかったら再生してもヨシってすると案の定
「ドッギュウン・ドッギュウン・ドッギュウン・ドッギュウン」ってカンジになってしまう。
なので、ソレをナシにすると1ループごとに再生するんであまりにも早くて
「ドドドドドドドドドドッギュウン」ってカンジになる。
省4
915
(1): 2010/02/17(水)02:32 ID:ccv1Zplj(1) AAS
ボタン押してる間「ドッ」をループ
離したら「ッギュウン」でいいんじゃねーの?
916
(2): 2010/02/17(水)05:47 ID:9a0E55gk(1) AAS
そんなめんどくさいことしなくても
弾の発射間隔を広げるか、数発ごとに発射音を鳴らすようにすればいいじゃん
917
(1): 2010/02/17(水)06:26 ID:CMLdNZJw(1) AAS
弾を撃つと開始されるカウンタを作って
そのカウンタが条件を満たしたとき音を鳴らせばいいんじゃないの?
1ループごとだと早すぎるんなら1おきにするとかもできる。
918
(1): 2010/02/17(水)08:34 ID:MHINozGj(1/2) AAS
>>912
自前で変形させるなら、2Dでも3D(ビルボード)でも大差なくない?
919: 2010/02/17(水)13:16 ID:WoQHqNki(1) AAS
>一般的なゲームの場合ってこういう時どうしてるの?
FFのデータ見たら、あらかじめ重なった時の効果音も
組み合わせごとにいっぱい入ってて、意外だった
とかいう話を、どこかのスレで見たような、見なかったような。
手間と配布方式とかによって変わってきそう。
920: 2010/02/17(水)19:53 ID:b05sIrPr(1) AAS
>>918
カメラ使って視点操作で楽できるからじゃね?
1-
あと 81 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s