ページ 11

横スクロールアクションゲームにおける動く足場や敵キャラクタの出現について

Posted: 2009年6月16日(火) 22:50
by ken
横スクロールアクションゲームにある「動く足場」(六つの金貨のラストステージにあるような一定の距離間を左右に動く物…わかりにくかったら申し訳ありません)や敵キャラクタの実装の仕方について悩んでいます。
// マップを描く
	for( i = offsetY / 32 ; i < (offsetY+480 + 32)/32 ; i ++ ) //スクロール時の描画をスムーズにするために画面外のマスも一個分描画(+32)
	{
	  for( j = offsetX / 32; j < (offsetX + 640 + 32)/32 ; j ++ ) //スクロール時の描画をスムーズにするために画面外のマスも一個分描画(+32)
	  {
		if( MapData[ i ][ j ] == 1 ) //1のとき通常足場ブロック描画
		{
		  DrawGraph( j * MAP_SIZE - offsetX , i * MAP_SIZE - offsetY , imageMap , FALSE ) ;
		}
		if( MapData[ i ][ j ] == 2 ) //2のとき即死トゲ
		{
		  DrawGraph( j * MAP_SIZE - offsetX , i * MAP_SIZE - offsetY , imageMap2 , TRUE ) ;
		}
		if( MapData[ i ][ j ] == 3 ) //3のとき動く足場
		{
		  DrawGraph( j * MAP_SIZE - offsetX , i * MAP_SIZE - offsetY , imageMap3 , TRUE ) ;
		}
	  }
	}
上記のように、マップチップ読み込み時にそれぞれの要素に対し条件分けし、チップデータの要素が3の時にその場に動く足場を出現させようと思ったのですが、
そこからどうすればいいのか見当付きませんでした。

動く足場や敵キャラクタの出現方法に関し、御助言いただけるとうれしいです。

*現段階でのソースコードです。pass:test
http://down11.ddo.jp/uploader/download/ ... ontest.zip

Re:横スクロールアクションゲームにおける動く足場や敵キャラクタの出現について

Posted: 2009年6月16日(火) 23:30
by Justy

>チップデータの要素が3の時にその場に動く足場を出現させようと思ったのですが、
>そこからどうすればいいのか見当付きませんでした

 静的なデータであるマップデータと動くオブジェクトであるギミックを今の方法で混在させるのは
なかなか大変です。
 ギミックはギミックとして分離して考えた方がいいでしょう。

 マップデータとは別に、そのステージのギミックを定義したデータを用意して
その定義に基づいてギミックを稼働させ、更新・表示を行うようにすればいいと思います。

(マップが大きくギミックの数もたくさんあるなら、各ギミックの起動・終了条件も
指定できるようにしておくといいでしょう)


 と、静的なマップとは別扱いなので、コリジョンチェックもマップとは別に行う必要があります。

Re:横スクロールアクションゲームにおける動く足場や敵キャラクタの出現について

Posted: 2009年6月17日(水) 18:51
by ken
なるほど。。
マップデータ用の配列だけでなくギミック用の配列も作成したほうがいいのですね。
大変そうですが、光が見えてきました。

ありがとうございます。