トップページgamedev
981コメント302KB

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。2014/05/07(水) 19:44:28.30ID:qr2Z08k5
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「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/
0952名前は開発中のものです。2015/11/29(日) 17:17:47.59ID:RO7WqN1L
DirectXでもOpenGL系でもできることはだいたい同じでしょ
0953名前は開発中のものです。2015/11/29(日) 17:21:35.82ID:oYsCk2mj
あと、もしかして勘違いしてるかもしれないので一応補足しておく

「DXライブラリがゲーム機に対応」っていうのと
「DXライブラリを使い、個人が自由にゲーム機向けに開発できる」とは、全く別の話な

昨今のインディーゲームブームの流れは、各社の家庭用ゲーム機にも来ているけれど
パソコンソフトのように個人が開発・公開できる時代には、もうちょっとかかる
Xboxだったかは比較的オープンと聞いたことはあるけど詳細は知らん
0954名前は開発中のものです。2015/11/29(日) 17:59:21.96ID:vrJ2BRDR
XboxのはXNAを使ってC#で開発、PCで動かすのは無料
実機は年会費がかかるiOSのデベロッパープログラムに近い形態
審査を通してマーケットプレースにゲームを登録できる

PSもPSMとかあったけど、もう無くなった模様
0955名前は開発中のものです。2015/11/29(日) 18:46:10.69ID:RqAk78Wt
>>951
つまり、directXを使わずに、
DXライブラリの関数を組み立て、
ユーザーは以前のノリで使える様にするわけかなあ
0956名前は開発中のものです。2015/11/29(日) 20:05:29.57ID:7d+b0KsG
管理人様がBishamon for 11の対応をしてくださったので報告。受け渡し用の関数を追加してくださりました
const void* GetUseDirect3D11Device( void ) ;
const void* GetUseDirect3D11DeviceContext( void ) ;
const void* GetUseDirect3D11BackBufferTexture2D( void ) ;
const void* GetUseDirect3D11DepthStencilTexture2D( void ) ;
描画方法
1:RenderVertexでDXライブラリの描画処理を終了
2:DxLib_Bishamon_DX11_DrawSetup を呼んで BISHAMON の描画準備
3:BISHAMONの描画処理
4:RefreshDxLibDirect3DSetting 関数を呼んで、DXライブラリのDirect3D 11の設定を復帰させる
( DXライブラリは他のライブラリなどでDirect3D 11の設定が変更されることを前提としていないので)

管理人様は神様か…
0957名前は開発中のものです。2015/11/29(日) 22:16:45.92ID:oYsCk2mj
おお。さすがだ。
0958名前は開発中のものです。2015/12/03(木) 16:55:53.80ID:9INoDVuY
ねえ…ひょっとしてunsigned int って使わない方が良いのかな?

配列A[x]に対して色々する時にxに負の数が入ったらバグが出るからって
そこに入る変数をunsigned で宣言してたんだけど

そのunsignedの変数を条件分岐の計算式にぶっこんだら
その計算式の結果はunsigned int 型になるってグーグル先生が言ってたんです

ここ4日間くらい原因がわかんなかったバグなんですけど
やっぱりこれが原因だったんでしょうか…
0959名前は開発中のものです。2015/12/03(木) 18:16:22.26ID:YLpL1k0k
DXライブラリじゃなくてCのスレに行けという指摘はさておき
その結論は早計じゃないかな。

自分も同じようなミスをした経験があるんだが、
単に「unsigned intにマイナスの値は入らない」とだけ覚えてると痛い目にあう。
試しにそれぞれの型の変数の下限値に-1を代入してみよう。

#include <stdio.h>
void main()
{
  //intとunsigned intの下限値(4バイト時)
  int i1 = -2147483648 ;
  unsigned int u1 = 0;

  //それぞれ下限から-1してみる
  int i2 = i1 - 1;
  unsigned int u2 = u1 - 1;

  //その結果
  printf("符号あり: %11i - 1 = %11i \n", i1,i2);
  printf("符号なし: %11u - 1 = %11u \n", u1,u2);

}

で、出力結果。

 符号あり: -2147483648 - 1 = 2147483647 ←intの上限
 符号なし:         0 - 1 = 4294967295 ←unsigned intの上限

要は、intにしろunsigned intにしろ、
最大値と最低値はループしてるのが分かる。
09609592015/12/03(木) 18:22:20.20ID:YLpL1k0k
このループする仕様を忘れて、
unsigned intにはマイナスの値が入らないから配列のインデックスに使えば安全!
って信じこむと、めっちゃ範囲外の要素にアクセスすることになりかねない
0961名前は開発中のものです。2015/12/04(金) 09:00:07.05ID:WQXyIPE2
問題の本質は配列のインデックスを越えることじゃなくて、バグって添字がint maxこえるような値が入ってることじゃろう
0962名前は開発中のものです。2015/12/04(金) 09:42:52.70ID:9jpyH600
それもそうか、失敬
0963名前は開発中のものです。2015/12/04(金) 10:00:48.77ID:oZoSEOg/
minとmaxとloopflagを設定して、自動で値を修正して返すクラス…どうなんだろう
いちいちif(hoge>max) hoge=max;とか例外処理するのめんどい
0964名前は開発中のものです。2015/12/04(金) 18:38:43.43ID:9jpyH600
クリッピングする関数を用意するんじゃなくて
「範囲付き整数型」みたいなのを用意するということか。面白そうではあるな。
0965名前は開発中のものです。2015/12/04(金) 23:07:21.50ID:iuc2ynFF
くだらん小手先の書き方ばっか考えてないで、面白いゲーム作ること考えろよ
0966名前は開発中のものです。2015/12/04(金) 23:25:36.99ID:eGjzpZm1
作ることを考える暇があったら早く作れよ
0967名前は開発中のものです。2015/12/05(土) 13:53:12.53ID:MUwPt98s
>>966
お前、土日スレに今週末提出義務な
0968名前は開発中のものです。2015/12/10(木) 18:56:32.28ID:KPSlLZUQ
外部依存のフォルダが消えたんだけどどういうこと?
dxlib.hが見れなくなった
0969名前は開発中のものです。2015/12/11(金) 18:57:46.71ID:8KDIjDZF
DXライブラリってさ
IK入りボーンの末端の位置を動的に指定することってできる?
0970名前は開発中のものです。2015/12/19(土) 14:10:12.59ID:vm6piLuS
プログラマはMacを使ってるってマジ?
http://hayabusa3.2ch.net/test/read.cgi/news/1450395043/
0971名前は開発中のものです。2015/12/25(金) 17:37:46.96ID:qIHjPLip
2.x時代に作ったゲームが手元のPC(Win8.1)でまともに動かんのだけど
似たような状況の人って居る?

これはDX9か何かをインストールすればいいのかな?
0972名前は開発中のものです。2015/12/26(土) 03:25:25.84ID:4LEWaXcG
一応言っておくと64bit版Windowsで16bitアプリは動かない
dllがないというエラーならDX9のインストールも一応試してみてもいいかも(こっちは何もしなくてもDX9のゲーム動いてるけど)
あとは古いWindowsのディスク持ってるなら仮想化ソフトで動かすとか
0973名前は開発中のものです。2015/12/26(土) 18:02:51.97ID:5/DH6wDr
さてここで問題です
>>971の2.xとは何のバージョンでしょうか
0974名前は開発中のものです。2015/12/26(土) 18:11:10.76ID:zNIi6UV7
Ver3.00以前のDXライブラリってDirectX7なんだな
流石に古すぎて問題発生しそう
0975名前は開発中のものです。2015/12/27(日) 02:50:43.98ID:zpxpK7r1
DirectDrawの奴はWindows云々よりドライバの問題がほとんど
エミュレータでやるのが正解
アクション物は死亡
0976名前は開発中のものです。2015/12/27(日) 11:57:30.78ID:B1Qp/Kkg
ソースあるし、今のライブラリで動くようにするのが
一番ラクかもしれん気がしてきた
0977名前は開発中のものです。2015/12/27(日) 17:33:08.66ID:3G2osq58
>>971の発言のレベルからして>>971が書いたコード自体が腐ってて
動かないだけだろうよ
0978名前は開発中のものです。2015/12/28(月) 08:05:56.03ID:/kXxYJI2
発言レベルからすると逆にWindowsのバージョンに依存するようなコードを書くようには思えないが
0979名前は開発中のものです。2015/12/29(火) 13:22:03.06ID:qvc68ruw
DXライブラリ 3.16が出てるな。
あとこんなのが。

DXライブラリの脆弱性情報
http://homepage2.nifty.com/natupaji/DxLib/dxvulnerability.html
0980名前は開発中のものです。2015/12/29(火) 14:19:19.57ID:T+amuB05
フォントってソースファイル(またはクラス)ごとに一々設定していますか?
それともフォント周りをまとめたシングルトンクラスなど書いたほうが良いでしょうか?
0981名前は開発中のものです。2015/12/29(火) 14:43:33.87ID:+SuMM4in
普通は文字列を描画する関数としてラップするでしょ
レス数が950を超えています。1000を超えると書き込みができなくなります。