制作日誌5

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

制作日誌5

投稿記事 by SAI » 14年前

大体二日に1ぺんのペースで進んでいますね。
今日はちとクラスの継承を見直し。
弾と敵に継承するための基礎のクラスを追加しました。

しかしどうやって雑魚に弾を撃たせよう。
一つは行動パターンそのものに埋め込むやりかた。
これだと楽だけど、発射時間がずれたら行動パターンをもう一つ作らないといけない。
もう一つは、敵にショットの情報を持たせる場合。
龍神録のように、「いつ」から、「何」を撃たせるか記憶させておく。
こっちの方がよさそうかな。

はい! 出ました!!
なんかあっけないなあ(´・ω・`)ショボーン
いや、苦労はしてるんですが、「弾が出た」の4文字で終わると思うと。

そんなわけで動画です。さっそく弾幕作っちゃうぜ。超簡単だけども。
[nico]http://www.nicovideo.jp/watch/sm14350872[/nico]

そんなわけで今日の追加分。

CODE:

追加した定義色々
//雑魚の移動情報
enum{SlideX=0,	//横移動
	SlideY	//縦移動
};

//雑魚の弾情報 0ならボスの弾
enum{Normal=1	//一発普通に撃つ(自機狙い)
,Flower	//(難易度が)すんごい弾幕
};
前回の分から追加

CODE:

//弾発射
void CSTGenemy::shot_mf()	
{
	if(Flag >0 && count>=shottime)
	{
		switch(shottype)
		{
		case Normal:
			if(count==shottime)	//一度だけ
				TamaAppear_tr(int(x),int(y),shotspd,P,shotatk,shottype,graph,DEFAULT);
			break;
		case Flower:
			if((count-shottime)%3==0)	
			{	
				for(int i=0; i x=x;
	this->y=y;
	oldposX=x;
	oldposY=y;
	this->spd=spd;
	this->atk=atk;
	this->type=type;

	if(range==DEFAULT)
	{
		switch(graph)
		{
		case 0:
			this->range =2;
			break;

		default:
				printfDx("不明な弾のグラフィック(CSTGtama::appear_tr)\n");
				 break;
		}
	}
	else this->range =range;

	if(kacdo==P)
		this->kacdo = getkacdoP(x,y);
	else
	this->kacdo=kacdo;
	graph=graph;

	set_tama_init();
}

//移動
void CSTGtama::move_mf()	
{
	if(Flag>0)
	{
		set_tama_move();

		oldposX = x;
		oldposY = y;
		x += moveX;
		y += moveY;

		count++;
	}
}

//死亡
void CSTGtama::dead_mf()	
{
	if(Flag >0 && (xSTG_TAMA_MAX_X || ySTG_TAMA_MAX_Y))	//範囲外で消滅
		Flag=0;

}

//描画
void CSTGtama::draw()	
{
	if(Flag>0)
	{
		DrawCircle( int(x) +donX, int(y) +donY, range,color.blue, TRUE ) ;	//仮の敵弾
	}
}

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