ラストワードの謎 続き

アバター
SAI
記事: 115
登録日時: 14年前
住所: はひほーひ

ラストワードの謎 続き

投稿記事 by SAI » 14年前

チャットでh2so5さん、MNSさん、GRAMさん、foxさん(応援係)に協力していただいて、ここまでこぎつけました。
本当にありがとうございました。
元のはもっと複雑のようですが、あんまりこだわらなくてもいいかなーと思ったので、今はとりあえずこんな感じで満足してます。
まあもうちょっとカッコよくしたいんですが。(^_^;)

SetDrawValidAlphaChannelGraphCreateFlag関数とMakeScreen関数は本家のリファレンスに載ってないそうです。
納得いかぬ。

CODE:

#include "DxLib.h"

void wait_fanc()
{
    int term;
    static int t=0;
    term = GetNowCount()-t;
    if(16-term>0)
            Sleep(16-term);
    t=GetNowCount();
    return;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
						 LPSTR lpCmdLine, int nCmdShow )
{
    // ウインドウモードに変更
	ChangeWindowMode( TRUE ) ;
	if( DxLib_Init() == -1 )			// DXライブラリ初期化処理
	{
		 return -1;			// エラーが起きたら直ちに終了
	}
    int time=0;
	int Cr = GetColor(   100 ,   100 , 0 ) ;		// 色の値を取得
    int Font = CreateFontToHandle( NULL , 20 , 3 ,DX_FONTTYPE_ANTIALIASING_EDGE) ;

    SetDrawValidAlphaChannelGraphCreateFlag(TRUE);  // 描画可能なαチャンネル付き画像を作成するかどうかのフラグをセットする
    int img=MakeScreen(250,30);    //200*100の空画像を作る
    SetDrawScreen(img);   //画面ではなく、imgがハンドルを持つ画像に描画
    DrawStringToHandle( 0 , 0 , "「DXライブラリ」" , GetColor( 255 , 255,255 ), Font ,GetColor( 0,0,0 )) ; 
    SetDrawScreen(DX_SCREEN_BACK);

    while(time200+i*20) continue;
            int pal=(time-100-i*20)*255.0/80;
            if(pal>255) pal=255;
            SetDrawBlendMode( DX_BLENDMODE_ALPHA, pal ) ;
            double size=5.0-4.0*(time-100-i*20)/80;
            if(size<1)size=1;
            DrawRotaGraph( 320 , 240 ,size,0,img, TRUE ) ;
        }
        SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 ) ;
        ScreenFlip();
        wait_fanc();
        time++;
    }
	WaitKey() ;				// キーの入力待ち(『WaitKey』を使用)

	DxLib_End() ;				// DXライブラリ使用の終了処理

	return 0 ;				// ソフトの終了
}
最後に編集したユーザー SAI on 2011年4月04日(月) 02:55 [ 編集 1 回目 ]

コメントはまだありません。