DXライブラリ質問&雑談掲示板2
[トップに戻る] [使いかた] [ワード検索] [管理用]
おなまえ
題  名
メッセージ
削除キー (記事削除用。英数字で8文字以内)
クッキー情報を保存

<管理人>
ご返信は一週間に一度、土日のどちらかで行います。平日は時間に余裕があるときだけご返信します。
この掲示板はマルチポスト禁止です。

[5488] ver17.12のエラーについて 投稿者:774 投稿日:2024/11/21(Thu) 00:03 [返信]
>管理人様 ご確認ありがとうございます。ユーザーからではどちらが問題があるのかわからなかったので、 visual studio側の問題ということがわかり、安心しました。

[5487] ご返信 投稿者:管理人 投稿日:2024/11/20(Wed) 22:17 [返信]
> 774さん ビルドエラー( コンパイルエラー )が発生するわけではありませんので、DXライブラリ側の問題というよりは Visual Studio 側の問題となります なのでDXライブラリ側で対応できることは無い状態です Visual Studio 側で問題が出ないようになってくれることを待つのみです (・・;

[5486] ver17.12のエラーについて 投稿者:774 投稿日:2024/11/20(Wed) 15:21 [返信]
Visual Studio Community 2022 の新バージョン(ver.17.12)でエラーが出てしまいます。 他の方がすでに行っているように、ver17.11.5にダウングレードすることで回避できるようなので、 緊急性はないかと思いますが、いずれ新バージョンに対応していただけると幸いです。

[5485] Re:[5484] ご返信 投稿者:Tomo 投稿日:2024/11/19(Tue) 07:17 [返信]
無事アイコンを設定できました。ありがとうございました。 次からはグローバル関数も使ってみます。

[5484] ご返信 投稿者:管理人 投稿日:2024/11/18(Mon) 00:54 [返信]
> Tomoさん > exeファイルのアイコンについて ミニテクニックコーナーにアイコンを設定する方法を載せていますので、よろしければご覧ください m(_ _)m <自作ソフトにオリジナルアイコンを付ける> https://dxlib.xsrv.jp/dxtec.html#M2 > 弾幕ゲームを作るうえでグローバル関数は一切使用しない方がよいのか? いえ、グローバル関数を使用しても良いと思います > 分割コンパイルで関数の宣言が書かれているヘッダーファイルはある程度統合した方がいいのでしょうか? いえ、基本的には関数の中身が書かれている cppファイルのファイル名の拡張子を h にしたヘッダーファイルに 関数の宣言を書くべきで、色々な cppファイルに書かれている関数の宣言を一つのヘッダーファイルに纏めて 記述するというのは普通はしません ( DXライブラリの DxLib.h には全部の関数の宣言を書いてしまっていますが、一般的ではありません ) > 現在「新・ゲームプログラミングの館」と「龍神録プログラミングの館」、「DXライブラリ置き場」を利用して勉強をしているのですが他に便利なサイトなどはあるでしょうか。 すみません、あるかもしれませんが私は知りません m(_ _;m

[5483] 弾幕ゲームの作成 投稿者:Tomo 投稿日:2024/11/17(Sun) 20:10 [返信]
弾幕ゲームを作成してexeファイルから実行できるようにまではできたのですがexeファイルのアイコンを変更する方法が分からないです。 icoファイルの画像をexeファイルのアイコンにするにはどうすればよいでしょうか?(visual studio 2022 を使用しています。) また話がそれてしまうのですが。 弾幕ゲームを作るうえでグローバル関数は一切使用しない方がよいのか? 分割コンパイルで関数の宣言が書かれているヘッダーファイルはある程度統合した方がいいのでしょうか? 現在「新・ゲームプログラミングの館」と「龍神録プログラミングの館」、「DXライブラリ置き場」を利用して勉強をしているのですが他に便利なサイトなどはあるでしょうか。 質問内容がまとまらずすみません。

[5482] ご返信 投稿者:管理人 投稿日:2024/11/17(Sun) 03:54 [返信]
> 名無三さん もう Advent Calendar の時期なんですね 今年はいつにも増して一年が短かったように感じます (・・;

[5481] AdventCalendar2024を作成しました 投稿者:名無三 投稿日:2024/11/16(Sat) 07:22 [返信]
お疲れ様です。今年も僭越ながらAdventCalendarの方を立てさせていただきました。 皆さん奮ってご参加ください qiita.com/advent-calendar/2024/dxlib

[5480] Re:CUDAとの併用について 投稿者:名無三 投稿日:2024/10/23(Wed) 13:09 [返信]
高速化だけならばオプションでAVXかAVX2を有効にするだけで達成できるかもしれません(最適化の際に使ってくれる…らしい?) 要件が第2世代corei以降/4世代corei以降などになる点と元からSSE2を使っているらしい為最高でも4割増程度の向上のようですが、 (そもそも認識間違ってるかも知れないのでご了承を…)

[5479] ご返信 投稿者:管理人 投稿日:2024/10/23(Wed) 03:25 [返信]
> black labさん > DXライブラリで作成したプログラムをCUDAを用いて処理の高速化をしたいと考えているのですが,可能でしょうか. 少し調べてみた限りですが、CUDA を使用するには CUDA 用の言語でプログラムを記述する必要があるため、 既存の C++ のライブラリであるDXライブラリとの併用は恐らく不可能なのではないかと思います (・・;

[5478] CUDAとの併用について 投稿者:black lab 投稿日:2024/10/22(Tue) 12:49 [返信]
お世話になっております. DXライブラリで作成したプログラムをCUDAを用いて処理の高速化をしたいと考えているのですが,可能でしょうか. もし可能であれば,環境構築の方法をお伺いしたいです. Visual Studio Community 2022を使用しています.

[5477] ご返信 投稿者:管理人 投稿日:2024/10/11(Fri) 23:06 [返信]
> ノンおっぱい星人さん すみません、ご返信が遅くなりました > iだけでも中身の数値がキャストされて11番目の文字が変更される気がするのですが。 仮に file[11] = (char)( '0' + i ) ; こちらを file[11] = ( char )i ; と変更した場合は正常にロードは行われなくなります コンピューターは全ての情報( 画像や音楽や3Dモデルなど )を数値で扱うのですが、同じように文字も数値で扱われます 例えば文字の A は数値では 65 となり、i は数値では 105 となっています なので、文字列の AAAiii は、メモリの中では 65 65 65 105 105 105 という数値で保存されていることになります 同じように文字の 0 は数値でも 0 … ではなく 48 となっています、そして文字の 1 は 49、2 は 50、3 は 51、4 は 52 5 は 53、6 は 54、7 は 55、8 は 56、9 は 57 となっています つまり、ある 0 から 9 までの値が格納された変数 i の値を文字の値に変換したい場合は 変数 i に 48 を 足せば良いことになります file[11] = (char)( '0' + i ) ; ↑ こちらは file[11] に i の数値を 0〜9 の文字の値に変換したものを代入しようとしている処理なので file[11] = (char)( 48 + i ) ; ↑ このように書いても同様の処理結果になります、ただ、 48 + i では何をしたいのかパッと見ただけでは良くわからないので 48 の代わりに '0' と書かれているのです

[5476] '0'+iという記述の意味 投稿者:ノンおっぱい星人 投稿日:2024/10/10(Thu) 11:30 [返信]
こちらのサイトでもご紹介されているゲーム開発で学ぶC言語にある記述なのですが(p.338)、 以下のような記述があります。 for ( int i= 0 ; i < IMG_ENEMY_MAX; i++ ) { char file[] = "image/enemy*.png"; file[11] = (char)( '0' + i ) ; imgEnemy[i] = LoadGraph( file ) ; } シューティングゲームの作成場面で、敵機の画像が複数枚あるので、 それをfor文でロードしようというものですが、3行目の '0'の意味は何でしょう? 画像のファイルパスの11番目の文字であるアスタリスク。 その箇所をファイル番号の数字に置き換えるのを、for文で実現しているようですが、 '0'の隣の変数iだけで足りるように思えるのですが、 '0'+としているのはどういう意味でしょうか。 iだけでも中身の数値がキャストされて11番目の文字が変更される気がするのですが。

[5475] ご返信 投稿者:管理人 投稿日:2024/09/09(Mon) 19:06 [返信]
> orbisさん やり取りが長くなりそうなのでこちらにスレッドを作成しました ご返信をこちらにしましたので、よろしければご確認ください m(_ _)m https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=5673

[5474] Re:[5473] ご返信 投稿者:orbis 投稿日:2024/09/09(Mon) 08:33 [返信]
> > orbisさん > > なるほど、C++ Builder が 12 になったのですね > C++ Builder 12 で BCC2 のライブラリファイルをコンパイルし直しましたので > よろしければその変更を行ったこちらのバージョンを試してみてください m(_ _)m > > https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 12 用 早速の対応ありがとうございます。 出てきた「win32,win64」のホルダーを上書きしたのですが、 残念ながら症状は変わりませんでした。

[5473] ご返信 投稿者:管理人 投稿日:2024/09/09(Mon) 01:20 [返信]
> orbisさん なるほど、C++ Builder が 12 になったのですね C++ Builder 12 で BCC2 のライブラリファイルをコンパイルし直しましたので よろしければその変更を行ったこちらのバージョンを試してみてください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 12 用

[5472] c++builder のバージョンアップによってDXライブラリーがリンクできない 投稿者:orbis 投稿日:2024/09/08(Sun) 08:00 [返信]
いつもお世話になっています。 今回、C++Builderがバージョンアップで12になってしまい、DXライブラリーが使えなくなってしまいました。 コンパイルエラーとして [ilink32 エラー] Error: 未解決の外部シンボル '__streams' が C:\xx\DXLIB_BCC2\プロジェクトに追加すべきファイル_C++BUILDER用\LIBJPEG.LIB|jerror から参照されています と出て停止します。DXライブラリーを継続して使いたいのですが、対処法が有りましたらお教えください。 よろしくお願いします。

[5471] Re:[5470] ご返信 投稿者:こん 投稿日:2024/08/21(Wed) 19:33 [返信]
ありがとうございました! 関数の使い方を理解することができました!

[5470] ご返信 投稿者:管理人 投稿日:2024/08/21(Wed) 01:10 [返信]
> こんさん > この関数はサイズを多めに確保しておく必要があるなどのルールがあるのでしょうか? はい、CreateShaderConstantBuffer に渡すバッファーのサイズは 16の倍数である必要がありますので int bufHandle = CreateShaderConstantBuffer( sizeof( float ) * 2 ); ↑ こちらの処理の結果 bufHandle には -1 が代入されている( CreateShaderConstantBuffer が失敗して -1 が返ってきている )と思います sizeof( float ) * 4 にしていただくことで CreateShaderConstantBuffer が成功しますので、よろしければお試しください m(_ _)m ( 尚、16の倍数の制限はDXライブラリのものではなく、Direct3D 11 の仕様です )

[5469] CreateShaderConstantBufferの使い方 投稿者:こん 投稿日:2024/08/20(Tue) 12:04 [返信]
情報が足りない気がしたので追加です この書き方に誤りはありますか? // シェーダー側 cbuffer BUFFERDATA : register(b3) { float buf1; float buf2; } // 初期化 float fnum1 = 0.0f; float fnum2 = 0.1f; float *pf; int bufHandle = CreateShaderConstantBuffer( sizeof( float ) * 2 ); // ループ内 pf = ( float * ) GetBufferShaderConstantBuffer( bufHandle ); pf[ 0 ] = fnum1; // ←ここでアクセス違反になる pf[ 1 ] = fnum2; UpdateShaderConstantBuffer( bufHandle ); SetShaderConstantBuffer( bufHandle, DX_SHADERTYPE_PIXEL, 3 );

[5468] CreateShaderConstantBufferの使い方 投稿者:こん 投稿日:2024/08/19(Mon) 23:20 [返信]
CreateShaderConstantBufferを使用する際に シェーダーに記述した定数バッファの総サイズとぴったり同サイズを指定したところ 自分の環境ではアクセス違反が発生してしまいました その他の書き方に不備があるのだと考えて探したのですが分からず 試しにシェーダー側より多めに確保するようにしたところアクセス違反は発生しなくなりました この関数はサイズを多めに確保しておく必要があるなどのルールがあるのでしょうか?

[5467] ご返信 投稿者:管理人 投稿日:2024/08/16(Fri) 01:57 [返信]
> Tom201512 . u .さん > Dxlibには長いことお世話になりました。 > この度、ゲーム制作そのものを完全に引退することになり、 > 自作パチスロゲームとして公開していた"Mondschein"並びに"Nostalgia"の公開を停止することにいたしましたので、 > 削除依頼をお願いします。 なんと、そうなのですね… DXライブラリをお使いいただきありがとうございました m(_ _)m ご依頼の2作品の投稿記事を削除しましたのでご確認ください > MrSoup678さん バグのご指摘ありがとうございます 手元のコードに反映しましたので、次のバージョンで修正が反映されます もし直ぐにご必要でしたらこちらをお使いください m(_ _)m https://dxlib.xsrv.jp/temp/DXArchiveTest.zip

[5466] DXADecode bug. 投稿者:MrSoup678 投稿日:2024/08/15(Thu) 19:59 [返信]
DXArchive.cppの2561行目(Toolサブフォルダ内)にバグを発見しました。圧縮ヘッダのないDXAファイルの場合、誤ってHead.DataStartAddressから読み込んでいます。 Head.FileNameTableStartAddressから読み込む必要があります。 挿入します: ``` _fseeki64(ArcP, Head.FileNameTableStartAddress, SEEK_SET); ``` をKeyConvFileReadの前に挿入することで、この問題が修正されます。 これは3.24dのプリビルドに存在します。 翻訳:DEEP-L.com

[5465] 作品掲示サイト削除依頼 投稿者:Tom201512 . u . 投稿日:2024/08/15(Thu) 05:50 [返信]
Dxlibには長いことお世話になりました。 この度、ゲーム制作そのものを完全に引退することになり、 自作パチスロゲームとして公開していた"Mondschein"並びに"Nostalgia"の公開を停止することにいたしましたので、 削除依頼をお願いします。 突然の連絡ではありますが何卒よろしくお願いします。

[5464] ご返信 投稿者:管理人 投稿日:2024/08/13(Tue) 23:22 [返信]
> naohiro19さん ご連絡ありがとうございます、該当スレッドを削除しました m(_ _)m

[5463] スパム目的が投稿されました(2回目) 投稿者:naohiro19 投稿日:2024/08/13(Tue) 07:37 [返信]
以下のページになります。 dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view&no=5662 投稿者は堂々と商標法違反および不正競争防止法違反なので 商標法では10年以下の懲役または1000万円以下の罰金 不正競争防止法では10年以下の懲役または20万円以下の罰金となるようです。 過去に香水の偽ブランドを販売した男性が逮捕されています。 (DXライブラリとは無関係ですが)

[5462] ご返信 投稿者:管理人 投稿日:2024/08/12(Mon) 21:19 [返信]
> taroさん > // 軽量バージョンのDXライブラリを生成する場合は次のコメントを外してください > //#define DX_LIB_LITEVER >  > これをコメントアウトした場合、 >  > int asap=KeyInputNumber(0,16,cmax-1,0,FALSE); >  > この関数が使用できなくなりました。 はい、DX_LIB_LITEVER を有効にすると KeyInputString や KeyInputNumber の機能を無効化する DX_NON_KEYEX が有効となりますので、プログラム中に KeyInputNumber があるとコンパイルエラーとなります こちらは正常な動作です > // ログ出力を行わない場合は次のコメントを外して下さい > //#define DX_NON_LOG >  > このマクロ定義をコメントアウトした場合、 >  > printfDx("test"); >  > このプログラムが実行できなくなりました。 はい、DX_NON_LOG を有効にした場合、DX_NON_PRINTF_DX を有効にした際の関数も使えなくなりますので コンパイルエラーとなるのは正常です

[5461] DXライブラリのコンパイル設定に関する質問 投稿者:taro 投稿日:2024/08/12(Mon) 17:17 [返信]
返信ありがとうございます。 少し調べてみたのですが、以下のような関係がエラーメッセージと関係していたようです。 // 軽量バージョンのDXライブラリを生成する場合は次のコメントを外してください //#define DX_LIB_LITEVER これをコメントアウトした場合、 int asap=KeyInputNumber(0,16,cmax-1,0,FALSE); この関数が使用できなくなりました。 // ログ出力を行わない場合は次のコメントを外して下さい //#define DX_NON_LOG このマクロ定義をコメントアウトした場合、 printfDx("test"); このプログラムが実行できなくなりました。 使用したライブラリはVer 3.24eで最新版のMinGW版(13_1_0_x86_64_w64)を使っております。 私が使った環境で確認した限りでは、つぎの定義は有効でした。 // 入力機能を無効にする場合は次のコメントを外して下さい //#define DX_NON_INPUT // printfDx を無効にする場合は次のコメントを外して下さい //#define DX_NON_PRINTF_DX

[5460] ご返信 投稿者:管理人 投稿日:2024/08/11(Sun) 22:54 [返信]
> taroさん > 私の勘違いだったと思いますが、DxCompileConfig.hをコメントアウトすると > 実行速度が速くなるのではなくて > 実行ファイルのサイズが軽量化されるのですね。 少し詳しくご説明しますと、DxCompileConfig.h はDXライブラリの特定の機能を有効化したり無効化したりするための定義が並んでいます 殆どの定義はコメントアウトを外して有効にすることで特定の機能を無効化することになります 例えば // JPEG画像の読みこみ機能がいらない方は次のコメントを外してください // ※DxUseCLib.lib も再コンパイルする必要があります //#define DX_NON_JPEGREAD こちらの //#define DX_NON_JPEGREAD の // を削除して #define DX_NON_JPEGREAD を有効にすると jpegファイルが 読み込めなくなります、そして読み込めなくなる代わりにサイズが軽量化されます( jpegファイルを読み込むための プログラムが削除されるので ) > 何を外したからこうなったのかはわかりませんが、 > printfDxやKeyInputNumberなどの関数が使えなくなってしまって困ったので > 特に理由がなければこのファイルはいじらないことにしました。 printfDx を無効にする // printfDx を無効にする場合は次のコメントを外して下さい //#define DX_NON_PRINTF_DX や、KeyInputNumber などを無効にする // 入力機能を無効にする場合は次のコメントを外して下さい //#define DX_NON_INPUT の // を外してしまったのだと思います

[5459] DXライブラリのコンパイル設定に関する質問 投稿者:taro 投稿日:2024/08/11(Sun) 19:57 [返信]
管理人様、アドバイスありがとうございます。 私の勘違いだったと思いますが、DxCompileConfig.hをコメントアウトすると 実行速度が速くなるのではなくて 実行ファイルのサイズが軽量化されるのですね。 何を外したからこうなったのかはわかりませんが、 printfDxやKeyInputNumberなどの関数が使えなくなってしまって困ったので 特に理由がなければこのファイルはいじらないことにしました。

記事No 削除キー

- Aska BBS -