トップページ > 記事閲覧
dxaファイルの読み込みについて
名前:スーパー初心者 日時: 2019/09/18 22:08

当方の開発環境はVisualStudio2015で言語はC#です。 C++用のライブラリをDLしてToolsの中のDxaEncode.exeを使用し アーカイブファイルを作ってみたのですが、C#の環境でLoadGraphやLoadDivGraphで 画像ハンドルを取得しようとしたところ、上手くいきません。(戻り値が-1) そこで質問なのですが、親子関係のあるフォルダ構造の中で親のフォルダを アーカイブファイルにした場合でも、LoadGraphやLoadDivGraphで読み込むことは 可能なのでしょうか? それとも、全てのフォルダに対してdxaファイルを作成する必要があるのでしょうか? 参考までにこちらのファイル構造を記します。 dataフォルダ < アーカイブ化してdata.dxaを作成(パスワードは"abc")  imgフォルダ   objフォルダ    object.png   picフォルダ    background.png  soundフォルダ   bgmフォルダ    bgm001.ogg   seフォルダ    se001.wav 具体的な読み出し方としては DX.SetDXArchiveKeyString("abc"); int hndl = DX.LoadGraph("data\\img\obj\\object.png"); と言った感じです。 画像ハンドルが取得できない原因をご教示願いたいです。 アーカイブ化せずに、フォルダが別れた状態で同様の処理を行った場合は 画像ハンドルが正しく取得出来ることは確認済みです。 以上、お手数ではございますがご確認のほど、よろしくお願いいたします。
メンテ

Page: 1 |

Re: dxaファイルの読み込みについて ( No.1 )
名前:にこよう 日時:2019/09/18 22:38

>アーカイブファイルにした場合でも、LoadGraphやLoadDivGraphで読み込むことは >可能なのでしょうか? 可能なはずです もし、ソースコードをそのまま張り付けられたのでしたら img\ ココにバックスラッシュが一つしかないのが原因ではないでしょうか?
メンテ
Re: dxaファイルの読み込みについて ( No.2 )
名前:管理人 日時:2019/09/19 00:00

にこようさんもご返信されていますが私も一応… > そこで質問なのですが、親子関係のあるフォルダ構造の中で親のフォルダを > アーカイブファイルにした場合でも、LoadGraphやLoadDivGraphで読み込むことは > 可能なのでしょうか? はい、可能です にこようさんが予想される原因以外で読み込みが失敗する原因として考えられるのは ・パスワード付きdxaファイルの作成がうまくできていない ・使用している DxaEncode.exe のバージョンが古い、又はC#版DXライブラリのバージョンが古い となります 手元で同じフォルダ構造の object.png ファイルを読み込むプログラムとパスワード abc の dxaファイルを作成してみましたが、正常に読み込むことができました data.dxa ファイルを作成するバッチファイルも含めて纏めて zip ファイルにしてみましたので、 よろしければご覧ください m(_ _)m ( 同梱のプログラムは c++ のコードですが、C#版DXライブラリでの テストでも正常に読み込めました ) https://dxlib.xsrv.jp/temp/dxatest.zip
メンテ
Re: dxaファイルの読み込みについて ( No.3 )
名前:スーパー初心者 日時:2019/09/19 03:32

お返事ありがとうございます! >にこよう様 ご指摘の件ですが、雑談掲示板の方に書き込もうとした際に禁止文字が含まれてると出て投稿できず C#ではパスの文字列内に「\\」と打たなくてもいいように string path = @"data\img\pic\pic001.png"; と書けるのですが、この「@」が禁止文字かも知れない!と思い、@を消して「\」をパス文字列の中に 付け足したはいいものの、半端についてなかったようです、誤解させてしまい申し訳ありません・・・ もっと言うと、「親子」がまずいのかも!と思い、上下関係とかに直したり試行錯誤した結果 なんともならなかったので、原文を貼ったつもりでしたが、他にも中途半端に変なところが あるかもしれません・・・ >管理人様 突然のメールに対して、快く対応して頂き、ありがとうございました 上記の質問で、困っていたのは本当ですが、掲示板がどんな際どい禁止文字列を拾ったのか 興味もありメールした次第です さて、挙げられた原因の内、思い当たるのは・・・ >パスワード付きdxaファイルの作成がうまくできていない >C#版DXライブラリのバージョンが古い ですね、一応DxaEncode.exeの方はC#版のライブラリには含まれていなかったので C++版を一昨日DLしたばかりなので、大丈夫だと思います 最新のC#版DXライブラリと頂いたzipで、再度確認させて頂きたいと思います ありがとうございました!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存