ページ 11

【解決済み】地面から光の粒子を出したい

Posted: 2016年10月30日(日) 17:24
by りぃく
こんばんわ。今回地面から光の粒子を出したくて質問します。
とりあえずフォグ系のスクリプトを使って粒子を表現してみたのですが
うまくいきません。フォグ自体はきちんと表現されるのですが
切れ目が出来てしまいます。

光の粒子のピクチャを用意して表示させると、きれいな列になって表現されてしまいます。


個人的には、画面の下から上へ光の粒子が上昇していき、
さらにその粒子の大きさも変化するような演出にしたいのですが
なにか良い方法はないでしょうか?

お願いします。

Re: 地面から光の粒子を出したい

Posted: 2016年10月30日(日) 23:09
by WTR
こんばんは。
想像されている演出と合っているかわかりませんが
私がピクチャを使ってやってみた光の演出を紹介してみます。
プラグインは書き方がわからないのでイベントコマンドです。

var id = 1;
var stt_x = Math.floor(Math.random() * 816);
var end_x = Math.floor(Math.random() * 816);
var amp = Math.floor(Math.random() * 200);
var r = Math.floor(Math.random() * 255);
var g = Math.floor(Math.random() * 255);
var b = Math.floor(Math.random() * 255);
var wait = Math.floor(Math.random() * 300) + 300;
this.wait(wait);
$gameScreen.showPicture(id,"Particle",0,stt_x,624,amp,amp,255,0);
$gameScreen.movePicture(id,1,end_x,0,100,100,0,0,wait);
$gameScreen.tintPicture(id, [r,g,b,0], 0);

var wait = Math.floor(Math.random() * 300) + 300;
this.wait(wait);

イベントコマンドのスクリプトに上記を貼り付ける。
行数制限の都合上2つに分けて。
イベントをコピペして量産。

1行目の id = 1 がピクチャIDなので、イベント毎に重複しないよう書き換え。
全部並列処理で実行。
たくさん表示するとロード時重いですが
20個くらい表示するといい感じになる気がします。

方向ランダム、大きさランダム、色もランダム、になってます。

Re: 地面から光の粒子を出したい

Posted: 2016年11月01日(火) 23:27
by りぃく
こんばんわWTRさん、有難う御座います。
実際にスクリプトに打ち込んで実行してみました。

正直、想定以上の出来栄えにとても驚き感動しています。
光の粒子としか言ってなかったのにも関わらず
途中で消えたり大きさがランダムになったり出現場所もランダムだし、色もランダムとは
エスパーに頭を覗かれた気分です。最高です!!


ただ、ひとつお聞きしたいことがありまして、粒子の出現間隔つまり
時間なのですがどこをいじれば変化させることが出来るのでしょうか?

今の状態ですと一度出現したあとにしばらく経ってから再び出現しますが
もう少し間隔を短くしたいのです。

どうぞよろしくおねがいします。

Re: 地面から光の粒子を出したい

Posted: 2016年11月01日(火) 23:52
by WTR
var wait = Math.floor(Math.random() * 300) + 300;

ランダムで 0 ~ 300フレーム + 固定300フレームの待機時間を決めています。
つまり最低でも300フレーム、最大で600フレーム待つことになっているので
数値を小さくしてやればよさそうです。

【解決済み】Re: 地面から光の粒子を出したい

Posted: 2016年11月04日(金) 01:15
by りぃく
WTRさん、有難う御座います。無事に理想通りの動きをしました。有難う御座います!