Re: ブレンド画像と透過色を併用したときの妙な挙動 ( No.1 ) |
- 名前:mas 日時:2006/12/14 17:40
> ちょっと複雑なプログラムなのでソースを書くことはできませんが、
> 何か思い当たる点などありましたら教えて頂けたら、と思います。
挙げられた情報だけで原因を推測できる方がいるかもしれませんが、
私には予想もつきませんでした。
デバッグの基本ですが、問題が発生する最小限のソースを書いてください。
そうしないとクラスの設計が悪いのか、Dxライブラリの関数の使い方がおかしいのか等、
問題の切り分けができませんし、規模が大きいプログラムほどバグを探すのは困難です。
|
Re: ブレンド画像と透過色を併用したときの妙な挙動 ( No.2 ) |
- 名前:管理人 日時:2006/12/15 13:14
犬福さんどうも、DXライブラリの管理人です。
宜しければ以下のQ・Aをチェックしてみて下さい。
Q1.SetScreenMemToVramFlag( FALSE ); を DxLib_Init の前に
実行してソフトウエアレンダリングモードで起動した場合は正常に
表示される
YES:Q2へ NO:A1へ
Q2.犬福さんの環境で件の現象が発生するプログラムを私の環境で
実行した場合は正常に表示される
YES:A2へ NO:A3へ
A1
プログラム的な原因が考えられます。
A2
犬福さんのPCに搭載されているグラフィックチップのドライバに
不具合がある可能性が考えられます。ドライバの更新で改善されない
場合、申し訳ありませんが SetScreenMemToVramFlag( FALSE );を
DxLib_Init の前に記述してソフトウエアレンダリングモードで
DXライブラリをお使いになって下さい。
A3
DXライブラリの描画処理プログラムに原因がある可能性が高いです。
Q2は私の環境での確認となりますので、もしQ1がYESでしたら、
不都合が無ければ BQE00322(アットマーク)nifty.com に表示の不具合が
発生するプロジェクトを丸ごと圧縮して送ってやって下さい。m(_ _)m
|
Re: ブレンド画像と透過色を併用したときの妙な挙動 ( No.3 ) |
- 名前:犬福 日時:2007/01/06 02:27
返事が随分遅くなって申し訳ありません。
Q&Aをチェックしてみました。
まず、Q1ですが、これは正常に動作しました。
それで、次にグラフィックチップのドライバを更新してみたのですが、症状は変りませんでした。
ソフトウェアレンダリングモードで動作させれば
確かに正常に動くんですがかなり描画速度に差が出てしまいますので
できればハードウェア機能を使いたいところなんですが・・。
もしよろしければ管理人様の環境で動作するかチェックしてみてもらえませんでしょうか?
チェックすべき点は(おかしい所は)圧縮ファイル中のreadme.txtに書いておきます。
それではどうぞよろしくお願い致します。
|
Re: ブレンド画像と透過色を併用したときの妙な挙動 ( No.4 ) |
- 名前:管理人 日時:2007/01/08 14:32
犬福さんどうも、DXライブラリの管理人です。
メールを拝見致しました。
添付して頂いたプロジェクトを実行しましたところ、こちらでも
同様の現象が発生しました。つまり、上記Q&AのA3に当たり、
見事にDXライブラリに原因がありました。m(_ _;m
修正したバージョンをアップしましたので、宜しければ
お使いください。m(_ _)m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe
(中身を既存のファイルに上書きして『リビルド』をして下さい)
因みに、犬福さんのプログラムにも一点間違っている個所がありました。
ini ファイルの SoftwareRendering が True の時に SetUse3DFlag に
TRUE を False の時に FALSE を渡していますが、これは逆で、
ソフトウエアレンダリングモードにする場合は SetUse3DFlag に FALSE
を渡し、3D機能を使用する場合は TRUE を渡す必要があります。
(なので、今まで犬福さんはソフトウエアレンダリングモードで
実行していたということになります(SetScreenMemToVramFlag( FALSE );
を実行した場合と、DxLib_Init の後に SetUse3DFlag( FALSE ); を
実行した場合では同じソフトウエアレンダリングモードでも処理が
少し変わり、後者で実行されるプログラムにバグがありました))
|
Re: ブレンド画像と透過色を併用したときの妙な挙動 ( No.5 ) |
- 名前:犬福 日時:2007/01/10 01:21
こんばんは、犬福です。
修正バージョン確認しました。
お忙しい中いつもながらの迅速な対応ありがとうございます。
間違っている箇所の指摘ありがとうございました。
SetUse3DFlagの動作とSetScreenMemToVramFlagの動作をあいまいに理解してたみたいです^^;
ともかく原因が分からず長らく困ってた問題が解決してよかったです。
どうもありがとうございました。
|