DXライブラリ 総合スレッド その18
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/05/07(水) 19:44:28.30ID:qr2Z08k5「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part5
http://toro.2ch.net/test/read.cgi/gamedev/1389798031/
ゲームプログラムなら俺に聞け30
http://toro.2ch.net/test/read.cgi/tech/1388933972/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0541名前は開発中のものです。
2015/02/11(水) 16:31:30.00ID:Z2m4lq5jWindowsのメッセージループがドラッグ中のメッセージを処理している間
ゲーム側の処理を実行しないからだ
実時間を使ったリアルタイムな処理を扱う場合は困るだろうな
メッセージループとは別のスレッドでゲームループを作ればそれを回避できるが
DXライブラリはそういった処理に対応できるかな?
0542名前は開発中のものです。
2015/02/11(水) 17:20:56.81ID:0cWu/C1dじゃないと過去にわざわざ内部処理止める部分を書くはずがない。
0543名前は開発中のものです。
2015/02/11(水) 18:43:02.13ID:Z2m4lq5jWindowドラッグイベント処理 + 1フレーム分ゲーム処理→…
という感じで1ループごとに溜まったWindowsイベント処理も入るから、
それが1フレームの処理時間の足を引っ張って結果的にカクカクなるってことで
ゲーム処理が完全に止まってるわけではないね
0544名前は開発中のものです。
2015/02/11(水) 19:30:09.50ID:sOoti607止まるのは dxlibのせいではない
0545>>518
2015/02/11(水) 23:56:27.32ID:e2FrKk2r伏せてた別の理由ってのはこれなんですが、マルチスレッドが100万年早いといわれるようではオンラインは1000万年早いとか言われそうだったので伏せてました
オンライン化する上でプレイヤーの移動処理に正確な同期がをとるため、またUDPでのタイムアウトが起きないようにするために処理を止めないのは必須でした
移動処理は軌道を判定すれば何とかなりそうですがオンライン化の方はそうもいかずってわけです
0546名前は開発中のものです。
2015/02/12(木) 04:45:20.87ID:m1rVOHD7いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0547名前は開発中のものです。
2015/02/12(木) 04:46:00.97ID:m1rVOHD7いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0548名前は開発中のものです。
2015/02/12(木) 04:46:33.50ID:m1rVOHD7いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0549名前は開発中のものです。
2015/02/12(木) 04:47:12.08ID:m1rVOHD7いろいろとおかしな挙動になってしまいます。どこがおかしいでしょうか。
ちなみにフレームのZ軸のマイナス方向(手前側)に向けたいのですが、座標から回転方向からめちゃくちゃでそれどころではありませんでした。
SetCameraViewMatrix(MV1GetFrameLocalWorldMatrix(MHandle, EYE_FRAME));
0550名前は開発中のものです。
2015/02/12(木) 04:49:04.93ID:m1rVOHD7お赦しください
0551名前は開発中のものです。
2015/02/12(木) 15:36:52.73ID:m1rVOHD7Z軸マイナスに向けるためには180度回す必要がありましたが
0552名前は開発中のものです。
2015/02/12(木) 17:14:13.64ID:oLdlH72+前提でプログラムを組むのは危険なのでは?
ドラッグで画面掴んだらプログラム停止みたいな意図して起こせるものはもちろん、
信号が送れなくなる・受け取れなくなる理由なんて掘ればいくらでも出てくるし
信号が切れた時間で単に何も入力がなかった扱いにするか切断するか決めちゃえば?
なにやっても絶対切れないプログラムの組み方考えるよりずっと早くて現実的
0553名前は開発中のものです。
2015/02/12(木) 17:50:35.36ID:uKYLFIS3ドラッグを止めて処理が再開したタイミングで他の生きているコンピュータの状況を頼りに状態を更新、そこでボコボコにされているであろう自分が映る
……というのが理想なんかな
全プレイヤーが一斉にドラッグした場合?ハハッワロス
鯖無いと無理だこれ
0554名前は開発中のものです。
2015/02/12(木) 18:09:03.80ID:27eomFu+通信入れるならそれこそマルチスレッドでメッセージプロシャージャの影響受けないような仕組みのが綺麗に書けるけど
0555名前は開発中のものです。
2015/02/12(木) 18:36:09.37ID:oLdlH72+鯖作っちゃおうず
どうせデータの管理は鯖側でしないとろくなことにならんし
っても敷居やっぱり高いよなぁ、鯖
送受信が止まっている間にクライアント側で行われた入力を、
送信が再開された瞬間に反映すると、
あの悪名高いワープが起こる っつーか、意図して起こせる
なので、クライアント側で入力があってもそれが送信されて反映されなかった場合、
送受信が再開されたらそれまでの入力が反映されていない事を示すデータを送る
(最後に更新された位置で無入力だった扱いにする)のが無難な作り方
当然、対象は元の位置でボコボコにされることになるが…
0556名前は開発中のものです。
2015/02/12(木) 20:43:06.87ID:m1rVOHD7遅延が1フレームに収まるなら簡単だけどWANだとそうもいかないし
最も長い遅延に合わせて操作を遅らせるのも体感できるレベルになると不満が出るし
移動先を推測するのは丁寧にバグをつぶさないと貫通したりする
PvPとかを鯖なしでできるようになるのはいつになるんだろう
0557名前は開発中のものです。
2015/02/12(木) 22:51:47.12ID:uKYLFIS3http://www.4gamer.net/games/105/G010549/20100905002/
なんて思ってたら今年分がつい先週に終わってた
0558名前は開発中のものです。
2015/02/13(金) 00:32:56.71ID:Fcmbejwy0559名前は開発中のものです。
2015/02/13(金) 03:12:54.67ID:QEY2u/opそれをサーバに持ってくほうがやりやすいけど
ラグがないように見せかけるのはそれぞれ個別に対応する、結構姑息な手も使う
0560名前は開発中のものです。
2015/02/13(金) 08:10:52.10ID:Ozdyh/3rひょっとして俺が思ってる以上にp2pのほうが処理の記述楽なのか
0561名前は開発中のものです。
2015/02/13(金) 15:22:24.62ID:Bhyl0hHO0562名前は開発中のものです。
2015/02/13(金) 15:37:36.93ID:9I9SRziA誰か一人をホストにしても問題はないだろうけど、
はたして千差万別なPCのどれか一台をホストにするという実装は大丈夫なのだろうか?
まあ、営利でやってる訳じゃないので鯖管理にする必要もないけど
0563名前は開発中のものです。
2015/02/13(金) 15:46:09.86ID:MhN2nxCy少人数限定のMOなら誰かをホストにするのが普通
0564名前は開発中のものです。
2015/02/13(金) 19:52:40.53ID:Fcmbejwy0565名前は開発中のものです。
2015/02/13(金) 22:43:10.47ID:FYaCtMFG0566名前は開発中のものです。
2015/02/14(土) 00:43:39.63ID:r+fYR2Y9これ使えば可読性の高いコードになるわ
0567名前は開発中のものです。
2015/02/14(土) 01:50:31.98ID:u2qbRx31鯖側が切断したらどうすんね
蔵から鯖を選出するにしても
蔵のうち一つ以上と鯖が同時に落ちたら厄介なことにならんか?
ちなみにp2pはttp://www.net.c.dendai.ac.jp/~enomoto/ronbun.htmlに詳しく記述されとるで
Javaやけど
>>566お前はC#で日本語の識別子書くタイプだな。帰れ
0568名前は開発中のものです。
2015/02/14(土) 02:31:12.63ID:EGuN3hyX言わんとする事は分かるが・・・お勧めしない。
やってる内に面倒になってくると思う。
と言うか、今どきはマクロ識別子は大文字だけで書いて区別ってしないの?
0569名前は開発中のものです。
2015/02/14(土) 10:04:30.21ID:BqM59NXE今のコンパイラは変数名とか関数名も
日本語使えるよね
0570名前は開発中のものです。
2015/02/14(土) 10:13:56.69ID:r+fYR2Y9そうなの?
SetDrawBlendMode(DX_BLENDMODE_ADD,255);とか
SetDrawBlendMode(DX_BLENDMODE_INVSRC,255);とか書いてあるより
#define 加算 DX_BLENDMODE_ADD
#define ネガポジ DX_BLENDMODE_INVSRCとしておいて
SetDrawBlendMode(加算,255);
SetDrawBlendMode(ネガポジ,255);みたいに書いてある方が見た時にわかりやすくない?
0571名前は開発中のものです。
2015/02/14(土) 12:34:49.37ID:qWurtbZwあとdefineは単純置き換えで名前空間が関係ないから使い辛い
0572名前は開発中のものです。
2015/02/14(土) 12:47:57.38ID:t+ZWU2hjもしかしてUnicodeにすれば使えたりするのか?
0573名前は開発中のものです。
2015/02/14(土) 16:54:26.34ID:HKEn79Vwアホみたいに加算合成してる白いだけのエフェクトと違って
暗い色とか綺麗にでてるしどうやってんの?
αによって加算率とか変えてんのかな
0574名前は開発中のものです。
2015/02/14(土) 17:06:43.27ID:u2qbRx31要するに反転して乗算して反転する処理
真っ白でも合成しない限り白飛びしない
0575名前は開発中のものです。
2015/02/14(土) 17:32:56.76ID:C8sa6l0n二重三重に異なる表示処理を加えてるんでね?
最初に半透明表示で半透明を、最後に加算表示で光沢をとか
0576名前は開発中のものです。
2015/02/14(土) 18:49:52.22ID:EGuN3hyXいやまあ、私自身通り過ぎた道なので全否定はしないから。
コード共有する仲間から責められでもしない限り。
でもコード書く時とコメントで日本語書く時って思考が違うから、少しスイッチ
しないとイカンから自然と辞めたのだけど・・・俺だけ?
それなら半角大文字で辞書使って英語の語彙広げた方が後々に良いので、
今はそうしています。
コンパイラがSJIS全角でエラーになる時代でもないしね、まずは気が済むまでやってみて。
0577名前は開発中のものです。
2015/02/14(土) 18:55:17.09ID:HyCZfkwv0578名前は開発中のものです。
2015/02/14(土) 20:50:36.71ID:wPYLn4dr多分布団を頭からかぶってバタバタすると思う
それに、CプリプロセッサはあくまでCの規格だから
C++で書くならあんまりむやみに使わない方が…
0579名前は開発中のものです。
2015/02/14(土) 21:16:20.67ID:r+fYR2Y9こういうやり方推奨してる解説サイトとか皆無だもんね
今の自分にはこれが便利に見えてしょうがないんだけど、経験積んでスキルが上がって行けば俺もそうなれるのかな?
早くそんなレベルまで上がりたいけど、半年でいける気がしないwがんばるw
0580名前は開発中のものです。
2015/02/14(土) 21:51:21.67ID:8yKSZnHLその辺を考察した記事とか無いのかしら
0581名前は開発中のものです。
2015/02/14(土) 23:28:53.97ID:B/KKqodi0582名前は開発中のものです。
2015/02/14(土) 23:36:26.00ID:u2qbRx31だからたとえ一人で開発してても見せられるコードにしておこう
そのうえで日本語識別子は移植性に難があるから受け入れられない
というか英語使えない低学歴とみられて終わり
就職とかしたいならせめてローマ字にしとこう
0583名前は開発中のものです。
2015/02/15(日) 00:13:09.08ID:ANZ0BRWf0584名前は開発中のものです。
2015/02/15(日) 00:45:29.70ID:WihhgSg00585名前は開発中のものです。
2015/02/15(日) 09:59:59.15ID:smP+WluD0586名前は開発中のものです。
2015/02/15(日) 14:30:10.18ID:HGj2LM7P果たしてこれ以上一般的でない英単語が理解されるかどうか
俺は使うけどね!
0587名前は開発中のものです。
2015/02/15(日) 14:52:09.44ID:l0mwHWLP0588名前は開発中のものです。
2015/02/15(日) 15:49:16.87ID:4/KsfsrLいや今のはどうなのか知らんが行番号付きのBASICなんて使わないよね?
辞書引きながら長い専門用語とか無駄な省略表記するぐらいなら
コーディングの思考停止されるよりは日本語そのままのが良いわ
あとで気に入らないとかエディタで置換するだけだし
命名にしてもAngleとかLengthなんてのは型の方に情報として入れちゃうな
0589名前は開発中のものです。
2015/02/15(日) 17:26:52.21ID:5/62BBWR0590名前は開発中のものです。
2015/02/15(日) 22:06:23.29ID:eJGF7el+0591名前は開発中のものです。
2015/02/15(日) 23:11:58.83ID:HGj2LM7Pローマ字入力と英数入力をポチポチ切り替えながら書いてるのを想像しただけで、
真面目な場面ですら失笑を禁じえないくらい滑稽な絵面だな
これで計算が意図した順序で行われずバグってるのなんか見たら5分は笑うぞ
0592名前は開発中のものです。
2015/02/16(月) 10:58:04.32ID:otUzmh3N俺もガチの初心者の頃は「小文字って直感的じゃないから変数は全部大文字に」みたいな馬鹿なことやってたなw
1日でサクっと組んじゃうお遊びプログラムなら日本語使ったりもするが、まともなゲーム開発なんかじゃやらないな
何度も使う数値ほど入力しやすい方がいい
0593名前は開発中のものです。
2015/02/16(月) 11:16:21.41ID:aDo6cvIS0594名前は開発中のものです。
2015/02/16(月) 23:32:24.15ID:1asGZXFN0595名前は開発中のものです。
2015/02/17(火) 04:49:28.71ID:rbxqwbjb0596名前は開発中のものです。
2015/02/17(火) 09:13:17.54ID:+GCT35Zt足りなくなったら2文字。
0597名前は開発中のものです。
2015/02/17(火) 09:15:49.51ID:wOtymK3U0598名前は開発中のものです。
2015/02/17(火) 13:44:37.54ID:jnPWiKnI0599名前は開発中のものです。
2015/02/17(火) 17:14:12.27ID:Mz6fgAGO真の機械語(0と1)は多分打っているうちに頭がおかしくなる
0600名前は開発中のものです。
2015/02/17(火) 17:22:54.88ID:QlaPcbbK0601名前は開発中のものです。
2015/02/17(火) 17:49:53.42ID:+GCT35Zt0602名前は開発中のものです。
2015/02/21(土) 15:08:59.69ID:8Jnb87d0こう書けばいいと判断したんですが、合ってますか?
A &= ~8
0603名前は開発中のものです。
2015/02/21(土) 15:35:33.96ID:mS5ZgQVuテストコードなりデバッガなりで自分で検証しる
0604名前は開発中のものです。
2015/02/21(土) 20:39:37.86ID:OQqs7nCF命名規則スレとかないのかよ
んで質問だがDXライブラリでGameTickの概念はどう実装すればいいの?
1.メインスレッドで描画処理をして移動を別スレッドに追い出せばいいの?
2.たぶんそれだといくらFPSが高くてもガックガクの表示になるはずだけどその辺の補完は?
3.そもそもDXライブラリの関数は別スレッドでは動かせないとかいう噂もあるわけだがその辺は?
1は感覚的にはあってそう
2はどうにかなる
3は。。。うん。まあね
世間のゲームではできてるから無理なことははないはずだがDXライブラリでできるのか。
http://minecraft-ja.gamepedia.com/Tick
0605名前は開発中のものです。
2015/02/22(日) 07:00:50.01ID:fDUeEGslほいさっさ
クラス名・変数名に迷ったら書き込むスレ。Part25
http://peace.2ch.net/test/read.cgi/tech/1416550677/
0606名前は開発中のものです。
2015/02/22(日) 11:55:57.01ID:jk1zKIALビット演算の確認は全部一度2進数でどっかに書いてみるといいよ。
0607名前は開発中のものです。
2015/02/22(日) 22:02:54.91ID:Ybwkh1ZqANSIとかの規格で扱えないのを知った時はカルチャーショックだった。
そいや、独自拡張って釘刺されていたけれど、その重要性を理解していなかった。
Cの高級言語化に逆行するけれど、その辺りはちゃんと埋めて欲しいなあ。
ごめん、DxLib以前の問題だ。
0608名前は開発中のものです。
2015/02/23(月) 04:04:19.24ID:WYsEB99/処理系の対応としてはどんなもんだろう
0609名前は開発中のものです。
2015/02/23(月) 04:14:43.57ID:ceqVpmAwclangはgcc拡張のほとんどに対応してたからたぶん大丈夫、
VC++はお察しってとこじゃないの
0610名前は開発中のものです。
2015/02/23(月) 04:22:01.20ID:8mGeAby8それ以上も必要なだけ存分に
0611名前は開発中のものです。
2015/02/24(火) 09:34:50.13ID:EITTJj5T同じ方法で作ったモデルのテクスチャが表示されないのですが、原因分かる方はいませんか?
モデルが(カメラ目線で見かけ上)重なっている部分のテクスチャを描画していない、といった感じです
0612名前は開発中のものです。
2015/02/24(火) 12:56:50.74ID:GdcP2Lgx自分で工夫して半透明部分だけ後から描画したり、奥から順番に描画する必要がある
0613名前は開発中のものです。
2015/02/25(水) 00:10:41.11ID:U7v2mh2K横槍でですまないが、その工夫ってどうあがいてもできない範囲があるよな
植物の表現でよく見るα抜きしたテクスチャの平面ポリゴンを交差させるやつとかどうZソートして良いのやら
半透明をとは言わないから完全に透明なテクセルについてはZ値を上書きしない的なのDXライブラリでできないかね
シェーダーかくしかないのかな。。。
0614名前は開発中のものです。
2015/02/25(水) 03:29:40.82ID:qRaejDM+MV1SetMaterialDrawAlphaTest使えばできるんじゃないかと
0615611
2015/02/25(水) 06:13:23.49ID:hNxi6KZQzソートしないといけなかったんですね
別のモデルが交差したときと
2D(背景)→3D→2D(パラメータとか)の処理が面倒そうですね…
0616名前は開発中のものです。
2015/02/25(水) 10:23:14.66ID:Bc4ct1xT0617名前は開発中のものです。
2015/02/25(水) 19:07:48.76ID:v+cUG3NI「VC2013で」デバッグで「ブレークポイントで止めてる時」
この条件の時にメモ帳だろうが検索エンジンの入力欄だろうがに文字を打ち込むと全部のアプリケーションが完全に止まる。1文字につき10秒くらい
DXLib_Init()する前でもVC2010でも何ともなかったから、VC2013とDxLibとの組み合わせが最悪っぽいんだけれども
0618名前は開発中のものです。
2015/02/25(水) 21:09:46.08ID:v+cUG3NISetAlwaysRunFlag(TRUE)のせいでデバッグ中フォーカス行ってなくてもキー入力行って処理がえらいことになってただけだったバージョン関係無かった
今までSetAlwaysRunFlagオフにしてて今回オンラインを見越してオンにしたんけどデバッグ中は絶対やめた方がいいねってことを学習した
0619名前は開発中のものです。
2015/02/25(水) 22:38:46.44ID:CoSDhJKI動的に三角形分割しとるんか?
0620名前は開発中のものです。
2015/02/25(水) 23:40:10.46ID:hCSFe/RZどんな時に使うのコレ?
0621名前は開発中のものです。
2015/02/26(木) 01:06:41.13ID:QCH9WNHG感謝感謝ですな
0622名前は開発中のものです。
2015/02/26(木) 04:07:01.54ID:zOhg1pwr0623名前は開発中のものです。
2015/02/26(木) 16:26:04.88ID:3Yp+Px9C画面を取り込んで使える
東方文花帖みたいな、写真撮影ゲームで画面の内容を取り込む等の用途が考えられる
0624名前は開発中のものです。
2015/02/26(木) 18:40:03.70ID:EfwIjb3k他にも上手い使い方はあるんだろうけどさ。
自分の場合は、ステージクリア型のゲームで、クリアした瞬間の画像をキャプチャするのに使ったなあ。
リザルト画面に表示させたり、シーン遷移時にエフェクトとともに使ったり。
0625名前は開発中のものです。
2015/03/03(火) 09:29:33.27ID:SfDH2iXY0626名前は開発中のものです。
2015/03/03(火) 11:03:51.33ID:RwDWbio60627名前は開発中のものです。
2015/03/03(火) 15:36:49.48ID:GHWME4Ygヘッダにあってマニュアルにないもの、
ヘッダにも無いけどstaticでないもの、とかあるけど
関数仕様がどこかに書いてあるけどマニュアルにないもの、のことなんだろうなあ
0628名前は開発中のものです。
2015/03/03(火) 18:39:33.63ID:SfDH2iXYそんなものもあるのか!
0629名前は開発中のものです。
2015/03/04(水) 15:53:35.72ID:sZVJtjzuフリーゲーがどんどん熱くなるな
0630名前は開発中のものです。
2015/03/04(水) 16:19:58.42ID:t00IMK5/0631名前は開発中のものです。
2015/03/04(水) 16:22:58.20ID:sZVJtjzu0632名前は開発中のものです。
2015/03/04(水) 16:56:19.68ID:400cWtzp0633名前は開発中のものです。
2015/03/04(水) 18:10:36.36ID:mp8KVGoB同じ内容の.xファイルでは計算がなされます。
リファレンスにある「但し、pmx は pmd 相当の機能だけを使用していた場合のみ正常に読み込める仮対応状態です」と関係があるのでしょうか?
対策を教えてください
0634名前は開発中のものです。
2015/03/05(木) 02:26:30.42ID:YpPGywcJ0635名前は開発中のものです。
2015/03/05(木) 08:21:50.11ID:wgxbI/aI0636名前は開発中のものです。
2015/03/05(木) 09:40:56.94ID:coHxxl+W0637名前は開発中のものです。
2015/03/07(土) 13:20:41.80ID:hJ/CogIDどのレベルでクソだって言いたいのか知らないけど
ポリゴン多くするよりもバンプマップでもつかってシェーダーに
任せた方が軽くなるじゃないか
法線なんか使わずともディフューズテクスチャだけで
立体感を出すのもそれはそれで一芸だぞ
0638名前は開発中のものです。
2015/03/08(日) 23:48:23.36ID:jdpRGH3Aポリゴンを構成する頂点にもやっぱり法線を持たせておかないと
ディフューズテクスチャ側と合成できなくない? 揚げ足取りですまんが。
0639名前は開発中のものです。
2015/03/09(月) 22:11:50.76ID:6tr3fN9aDxLibでミップマップされたデータを含む画像(キューブマップでも使えるのがいいです)を作るにはどうすればいいですか?
0640名前は開発中のものです。
2015/03/14(土) 10:10:36.98ID:fUW+XAp3■ このスレッドは過去ログ倉庫に格納されています