2014/01/20(月) [n年前の日記]
#3 [dxruby] STGサンプルでマップ表示できるようにした
Tiled で作成した .tmx を読み込んで、表示するようにした。
_2013/12/25の日記
に置いといた、dxrbtmx.rb と bgatari.rb を使って、.tmx を表示、かつ、BGアタリを取ってみたり。
ついでに、マップに Object Layer を追加して、敵の発生位置を指定できるようにしてみたり。dxrtmx.rb に、以下のような処理を追加して、Object Layer の情報を読み取ってみたりして。
最後にスクロールが止まるようにしたのだけど。そうなると、やっぱり最後にボス敵が出てこないと、ゲームっぽくないなと…。この際、そこも作ってしまおうか…。しかし、仕様が思いつかない…。
ついでに、マップに Object Layer を追加して、敵の発生位置を指定できるようにしてみたり。dxrtmx.rb に、以下のような処理を追加して、Object Layer の情報を読み取ってみたりして。
# # Object Layer 情報を配列にして返す # # @return [Array] Object Layer 情報の配列 # def get_object_group_info a = [] @tmx.object_groups.each do |objg| b = [] objg.objects.each do |o| b.push({:name=>o.name, :x=>o.x, :y=>o.y}) end a.push({:layername=>objg.name, :data=>b}) end return a endただ、敵の種類・プロパティを、どのように指定したらいいのか、そのあたりで少し悩んでいたりもして。今現在、 _Rubyのtmxライブラリ は、Object Layer名と、各Object の名前(.name)、座標(.x と .y)を取得できることは分かってるので、とりあえず文字列で種類判定しちゃってるけど。プロパティも参照できるなら、そこで指定したほうが良さそうな。
最後にスクロールが止まるようにしたのだけど。そうなると、やっぱり最後にボス敵が出てこないと、ゲームっぽくないなと…。この際、そこも作ってしまおうか…。しかし、仕様が思いつかない…。
[ ツッコむ ]
以上です。