てきとうな足跡
イラストやらバイトの事を書いている大学生のブログ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ParteSystem設計
シューティングと言えばパーティクルシステムだろうということで
パーティクルシステムの設計

パーティクルシステムについてはwikipediaとか参考
炎とか煙とかの描画が出来ます。

こんな感じに
particle1.png

このサンプルコード

環境設定とかは
Slick2D で今どきの Java ゲームプログラミング
とか
「フラチキさんブログ」のEclipse + Slick2D のセットアップ(サンプルの実行まで)とか参考。


パーティクルシステムの使い方は、ここにも書いてある通りです。
particle2.png
http://slick.ninjacave.com/forum/viewtopic.php?t=50(2015/2/14アクセス)
今回はキーを押した時だけ、もしくは敵を倒した時だけ煙を発生させたいので、ここに少し修正を加えます。


1.emitterファイル(xmlファイル)の修正
slick/testdata に入っている「flame.xml」「particle.tga」ファイルをコピーして、
flame.xml をテキストエディタで開き、 length enabled="true" に書き換える。
max min の値はパーティクル作成から消滅までの時間なのでご自由に調節してください。
particle3.png

2.パーティクルシステムの作成場所の設定
// String path = "data/flame.xml";

emitter = ParticleIO.loadEmitter(path);
emitter.setPosition(x, y, false);
system.addEmitter(emitter);
particle4.png
このfalseが無いと、このように右下に余計なものが描画されてしまいます。
FPS5.png

3.パーティクルの回転について
emitter.angularOffset.setValue(dec); //dec = 0 ~ 360
で、現在の角度から何度回転させるか指定できます。
今回のサンプルコードでは
↑ボタンを押したら0度
↓ボタンを押したら180度
→ボタンを押したら270度
←ボタンを押したら180度
回転するようになっています。


参考にしたソース・サイト
Slick Forums「[Help] how the particle system works ?」
http://slick.ninjacave.com/forum/viewtopic.php?t=50

Game Development 「Java Slick2d particles error [closed]」
http://gamedev.stackexchange.com/questions/53996/java-slick2d-particles-error

Game Development 「Slick2D re-starting particle system/emitter」
http://gamedev.stackexchange.com/questions/90654/slick2d-re-starting-particle-system-emitter

Slick Forums「Rotating Emitter」
http://slick.ninjacave.com/forum/viewtopic.php?t=2948

stackoverflow「Slick2D Particle System - Particles misplaced when first spawned」
http://stackoverflow.com/questions/22582821/slick2d-particle-system-particles-misplaced-when-first-spawned
スポンサーサイト
コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
http://moromorocco.blog39.fc2.com/tb.php/326-c7a3888c
この記事にトラックバックする(FC2ブログユーザー)
トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。