RGSS,RGSS2で敵から弾を発射させる(回転弾)

| | コメント(0) | トラックバック(0)

今日は、回転弾の実装を行いたいと思います。

この作業が終われば、とりあえず一段落といったところでしょうか。

キリがいいので、最後に、いままでの成果を動画にしてお送りしたいとおもいます。

今回も、理屈ぬきで進めて行きたいと思います。

かの有名な「ブルースリー」だって、こんな言葉を残しています。

Don't Think Feel ! (考えるな、感じろ!)」ってね。

考えても、理解に苦しんでしまった場合は、

何も考えずに、とりあえず心のままに体を動かしてみる。とても重要です。はい。

 

というわけで、自己弁護もこのくらいにして(←最低w)

スプリクトの公開です。

------------------

自機クラス(Stg_player) ※更新!

弾クラス(Stg_bullet) ※更新!

敵クラス(Stg_enemy) ※更新!

シーンクラス(Scene_stg) ※更新!

●(メインは省略します)

------------------

 

今回の話題とは関係ないのですが、斜め移動時や、低速移動時に、

それぞれの方向の移動速度が違っていたのに気がついたので、

自機クラスも、こっそり修正しておきました。

次回にでも、内容を詳しく説明しようと思います。

 

今回は、いままで直線弾を撃っていた赤い敵に

回転弾を打たせるように指示しました。

 

シーンクラスの「rot」という変数に度数を入力して、

弾を出しているという理屈のようですね。

弾クラスの引数の数が、とんでもないことになってきました。

RGSS研究室さんの言葉をお借りすると、

rotに0~360の値を入れて360度系で弾の移動方向を指定し、

次のようにすると敵を中心に12発の弾が円状に発射されます。

------------------

@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,0)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,30)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,60)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,90)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,120)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,150)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,180)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,210)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,240)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,270)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,300)
@enemyshot.push Stg_bullet.new(i.x, i.y, 4, 0,0,0,330)

------------------

 

そして、弾の計算は以下のようになります。

------------------

#敵が撃つ弾・回転弾  
self.bitmap = RPG::Cache.picture("e_bullet")   
@dx = 8  
@dy = 8   #当たり判定の大きさ
@spx = 6  
@spy = 6  #おそらく弾の速度
@spx = @spx * Math.cos(rot * Math::PI / 180)   
@spy = @spy * Math.sin(rot * Math::PI / 180)  

------------------

 

こうやってスプリクトだけ見ると分かりづらいですが、

今回は特別なことをしていないので、特に説明は不要かと思います。

結局は、打ち込んで何度も試していくのが、理解する一番の近道となりますよね。

 

▼実行結果

 

とりあえず、上の動画に

いままで使ってきた処理のすべての動作を行いました。

こうやって見てみると、

「ようやく、ここまできたんだな・・・」

という気持ちがふつふつと沸いてきますね!

敵が気持ち悪いのはご愛嬌ということで!!(笑)

トラックバック(0)

このブログ記事を参照しているブログ一覧: RGSS,RGSS2で敵から弾を発射させる(回転弾)

このブログ記事に対するトラックバックURL: /105

コメントする

このブログ記事について

このページは、87が2008年9月10日 00:14に書いたブログ記事です。

ひとつ前のブログ記事は「RGSS,RGSS2で敵から弾を発射させる(WAY弾)」です。

次のブログ記事は「ちょっと息抜きのつもりで、東方緋想天の動画をアップしてみる。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01