魔法アニメーション

アバター
やっくん
記事: 5
登録日時: 15年前
住所: 長崎県長崎市

魔法アニメーション

投稿記事 by やっくん » 15年前

先日の日記に引き続き、魔法アニメーションを新しく作ったので投稿。

と、スピード感バトルを目指してるってことで最大敵数(9体)で戦闘を行った時にどれだけカオスな状況になるかやってみた。

ちなみに敵が使ってくる魔法が新しい魔法アニメーションです。
こちらが使う魔法が先日UPしたものです。

[BBvideo 425,350]http://www.nicovideo.jp/watch/sm12475612[/BBvideo]
古典的な感じですが、このような雰囲気の戦闘とアニメーションは大好きです。以下は隕石のアニメーション部分です。

CODE:

/**********************************************
	Function:魔法アニメーション0(タメ4)
	Argument:turnF -> 画像反転フラグ
		 end   -> 描画最終座標
		 cnt   -> 描画カウンター
	Return  :描画が終了したかどうか
**********************************************/
static bool MagicEffect0_4(int turnF, Pos end, int cnt)
{
	const int scCnt1 = 20;
	const int scCnt2 = scCnt1 + 60;
	const int scCnt3 = scCnt2 + 30;
	const int scCnt4 = scCnt3 + 20;
	int imgNo;
	int sign;
	int randX = GetRand(10);
	int randY = GetRand(10);
	randX -= 5;
	randY -= 5;

	if(turnF) sign = -1;
	else sign = 1;

	if(cnt < scCnt1){// 隕石落ち始め
		if(cnt == 0)PlaySoundMem(seFire4, DX_PLAYTYPE_BACK, TRUE);// 音
		imgNo = scCnt1 / 4;
		imgNo = cnt / imgNo;
		int px = end.posX + sign*(scCnt2 - cnt)*2 + randX;
		int py = end.posY - (scCnt2 - cnt)*2 + randY;
		DrawRotaGraph(px, py, 1.0, ANGLE(-45*sign), picFire6[imgNo], TRUE, turnF);
	}
	else if(cnt < scCnt2){// 隕石ループ部分
		imgNo = cnt%2;
		int px = end.posX + sign*(scCnt2 - cnt)*2 + randX;
		int py = end.posY - (scCnt2 - cnt)*2 + randY;
		DrawRotaGraph(px, py, 1.0, ANGLE(-45*sign), picFire6[imgNo+4], TRUE, turnF);
	}
	else if(cnt < scCnt3){// 爆発部分
		if(cnt == scCnt2){
			StopSoundMem(seFire4); // Stop SE
			PlaySoundMem(seFire3, DX_PLAYTYPE_BACK);
		}
		int temp = (scCnt3 - scCnt2)/6;
		imgNo = (cnt - scCnt2) / temp;
		DrawRotaGraph(end.posX, end.posY, 3.0, 0, picFire7[imgNo], TRUE);
	}
	else if(cnt < scCnt4){
		int bright = 255 - (cnt - scCnt3)*12;
		SetDrawBlendMode( DX_BLENDMODE_ALPHA , bright ) ;
		DrawRotaGraph(end.posX, end.posY, 3.0, 0, picFire7[5], TRUE);
		SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0) ;
	}
	else return true; // 描画終了

	return false;
}
最後に編集したユーザー やっくん on 2010年10月19日(火) 15:23 [ 編集 1 回目 ]

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