いつもDXライブラリに大変お世話になっております。
画像の透過について、一点報告させていただきます。
DXライブラリのVer3.17(ファイルの更新日時は12/7 0:51)を使用し、
透過設定されたインデックスカラー(256色)のPNG画像を「3D機能をオフ」にして描画すると、
3D機能オンの場合と異なり、画像が透過されなくなる場合があるようです。
以下が、私の環境で後述のソースを実行して撮影した3D機能オン・オフ時の比較スクリーンショットです。
silversecond.com/mytmp/20161211_DxLibTest.png
不特定多数の人が使うゲーム作成ツールを開発しておりますので、
できれば3D機能オフ時の画像の透過を、3D機能オンの場合と同じにしたいと考えています。
お忙しいところ申し訳ございませんが、よければアドバイス等いただけますと幸いです。
------------
実験に使用した画像、こちらの環境のログファイル、ソースコードは以下の通りです。
・検証に使用した画像(インデックスカラー(256色)透過画像)
silversecond.com/mytmp/SampleChip.png
・ログファイル(3D機能オン時)
silversecond.com/mytmp/20161211_Log.txt
・検証に使用したソースコード
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
SetOutApplicationLogValidFlag( TRUE ); // ログを出力
ChangeWindowMode(TRUE) ; // ウィンドウモード
// SetUse3DFlag( FALSE ); // ★このコメントアウトを外すと画像が透過されなくなります
if( DxLib_Init() == -1 ){ return -1;} // DXライブラリ初期化処理
int GrHandle = LoadGraph( "SampleChip.png" );// 画像を読み込み
// ESCを押すまでループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0){
DrawFillBox( 0, 0, 640, 480, GetColor(255,100,100) ); //ピンクで塗りつぶす
DrawGraph( 50, 100, GrHandle, TRUE ); // 画像を描画
printfDx( "Graphic test" ) ;
ScreenFlip();
WaitTimer(16);
clsDx( ) ;
}
DxLib_End() ; // DXライブラリ使用の終了
return 0 ; // ソフトの終了
}