サポート > GENWARE2へのよくある質問と回答 > 購入後のお客様向けTips集 >

ピクチャコントロールを使った簡易動画の作成方法を教えてください。

ピクチャコントロールを使った簡易動画の作成方法を教えてください。

質問:ピクチャコントロールを使った簡易動画の作成方法を教えてください。
回答:ピクチャコントロールにはイメージデータを1枚~32枚まで設定することができます。これらのイメージを順次切り換えて表示することで、パラパラ漫画の要領で簡単な動画のような表示ができます。
 
32枚のイメージデータを使用した簡易動画(リピートあり)を作成する場合のサンプルソースを以下に示します。 タイマがカウントアップするごとに、イメージが切換わって表示されます。

[GENSKETCH2上での設定]
①ピクチャコントロールの表示タイプを「イメージ」、状態の数を「32」と設定します。
②あらかじめリソース登録しておいた任意のイメージデータ32枚をピクチャコントロールの[状態0 意匠]~[状態31 意匠]
に設定します。
③コールバック関数のOnCreate、OnDelete、OnTimerを「あり」に設定します。
サンプルソースを以下に示します
//----------------------------------
//OnCreateコールバック関数

//----------------------------------
long GPANEL00005_GPICTURE00000OnCreate(GPanel00005 *pSelf, unsigned short usMessage, 
long lLParam, long lUParam)
{
	//ピクチャコントロールのポインタを取得
	GPicture *pPicture = (GPicture *)GWGetVmt(GPanel_VMT,pSelf)->GetChild(pSelf, GPANEL00005_GPICTURE00000);
	
	//イメージ切り換え用のタイマを設定(1000ms)
	GESetTimer(pPicture, 1, 1000);
	
	return TRUE;
}

//----------------------------------
//OnTimerコールバック関数
//----------------------------------
long GPANEL00005_GPICTURE00000OnTimer(GPanel00005 *pSelf, unsigned short usMessage, long lLParam, long lUParam)
{
	GPicture *pPicture;
	unsigned char ucStatus;

	//ピクチャコントロールのポインタを取得
	GPicture *pPicture = (GPicture *)GWGetVmt(GPanel_VMT,pSelf)->GetChild(pSelf, GPANEL00005_GPICTURE00000);

	//現在の状態を取得
	ucStatus = GWGetVmt(GPicture_VMT,pPicture)->GetStatus(pPicture);

	//状態によりイメージ切り換え(状態0→状態31→状態0)
	GWGetVmt(GPicture_VMT,pPicture)->SetStatus(pPicture, (unsigned char )(ucStatus >=31? 0: ++ucStatus));

	return TRUE;
} 

//----------------------------------
//OnDeleteコールバック関数
//----------------------------------
long GPANEL00005_GPICTURE00000OnDelete(GPanel00005 *pSelf, unsigned short usMessage, long lLParam, long lUParam)
{
	//ピクチャコントロールのポインタを取得
	GPicture *pPicture = (GPicture *)GWGetVmt(GPanel_VMT,pSelf)->GetChild(pSelf, GPANEL00005_GPICTURE00000);

	//ピクチャコントロールのOnCreate時に設定したタイマを削除
	GEKillTimer(pPicture, 1);

	return TRUE;
}

ページの先頭へ