ページ 11

透過処理について

Posted: 2011年12月27日(火) 16:52
by abesi
前回「画像の表示について」というタイトルでトピックを立てさせていただき無事解決、ウィンドウに画像が表示されたのですが、1,6章のはじめに書かれているコードを書くとエラーは発生しませんが透過処理されず、水色の枠がならび中心の画像がどうなっているのか分かりません。コードは下に明記しておきます。
コードの書き方や内容のおかしな点、設定などであり得る違いなど思い当たるものが
あればご指摘くださいお願いします。                              

コード:

 
#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
       ChangeWindowMode(TRUE);
	DxLib_Init();   // DXライブラリ初期化処理

        int x = 50;
         int Handle;
		Handle = LoadGraph( "画像/キャラクタ00.png");

		while( 1 ){
                if( ProcessMessage() != 0 ){
                        break;
				}
         DrawGraph( x, 100, Handle, TRUE);
		 x = x+2;
		 Sleep(7);
		}

        DxLib_End();    // DXライブラリ終了処理
        return 0;
}
 

Re: 透過処理について

Posted: 2011年12月27日(火) 17:22
by 沖 滉均
使用されている画像がどのようなものかはわかりませんが、多分水色の枠がある画像なのでしょう。
1.6章の前半コードは少し下にスクロールして実行結果の下にある説明を読むとその原因が書かれていますよ。

Re: 透過処理について

Posted: 2011年12月27日(火) 18:15
by abesi
返信ありがとうございます。使用している画像は1,6章のものと同じなのですが、前半のコードを入力し実行すると、キャラクターだけでなく背景もいっしょに連続で表示されてしまうのです。1,6章の後半のコードも入力し試してみたのですが一本の帯の様に連ならないもののやはり背景も一緒に移動してしまいます。背景を消して描かれているキャラクターのみを移動させるにはどうすればいいでしょうか。
試してみればいいこと、確認すればいいことなどありましたら方法、手段を具体的に書いてもらえれば助かります。

Re: 透過処理について

Posted: 2011年12月27日(火) 21:40
by 沖 滉均
1.6章と同じ画像ですか?
あぁ、なるほどサンプルで使用されている画像と異なりますね。

まず、サンプルと同じ画像ですと書かれていますが、abesiさんのコードの10行目を見るとキャラクタ00.pngを使用していますね。
しかし、サンプルコードで使用されている画像はキャラクタ01.pngに変わっています。
説明が前後して、2.1章に透過処理済み画像について書かれています。

サンプルをダウンロードして使用しているのであれば上記のロードするファイル名を変更すれば表示されるはずです
[hr]
[追記]
管理人さんに修正を依頼しておいたので、1.6章をコードも含めて読みなおしてみてください。

Re: 透過処理について

Posted: 2011年12月27日(火) 22:00
by abesi
画像の部分を「00.png」から「01.png」に変え再度実行したところ1,6章の前後半の画像と同じになりました。ありがとうございました。