【解決済】操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
【解決済】操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
最後に編集したユーザー 亜季色 [ 2021年2月06日(土) 20:19 ], 累計 1 回
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
とりあえず質問カテゴリでいいんじゃないですかね。
プラグインではない実現手段もあるかも、というところも含めて整理が必要な気がします。
まず所望の動作についてもう少し踏み込んだイメージが欲しいです。
なんとなくナビゲーション妖精とか火の玉バリアとか
そういったものがプレイヤーの周りを回っている絵面が浮かびましたが
そうじゃなくて村人がぐるぐるまとわりついてくる?
当たり判定を持ったキャラクターが必要なのか
ピクチャやアニメーションでも代用可能な…つまりビジュアルが回転してればなんでもいいのか…
プラグインではない実現手段もあるかも、というところも含めて整理が必要な気がします。
まず所望の動作についてもう少し踏み込んだイメージが欲しいです。
なんとなくナビゲーション妖精とか火の玉バリアとか
そういったものがプレイヤーの周りを回っている絵面が浮かびましたが
そうじゃなくて村人がぐるぐるまとわりついてくる?
当たり判定を持ったキャラクターが必要なのか
ピクチャやアニメーションでも代用可能な…つまりビジュアルが回転してればなんでもいいのか…
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
https://twitter.com/wtr_in_reverie/
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
周りを回るグラフィック自体は何でも良いのですが、当たり判定は無い方が良いです。
例えば操作キャラの周りにハエがたかっている感じで、操作キャラにまとわりつきながら公転運動をさせたいです。
また、固定されたイベントに対しても同様に公転運動をさせたいです。
イベントとして一時的に公転させるのではなく、キャラクターの操作中に継続して公転させたいです。
charactersフォルダに入っている歩行グラ等から好きなように選んで公転させられると楽ですね。
例えば操作キャラの周りにハエがたかっている感じで、操作キャラにまとわりつきながら公転運動をさせたいです。
また、固定されたイベントに対しても同様に公転運動をさせたいです。
イベントとして一時的に公転させるのではなく、キャラクターの操作中に継続して公転させたいです。
charactersフォルダに入っている歩行グラ等から好きなように選んで公転させられると楽ですね。
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
こんにちは。
WTRさんが質問してくれたので、
イベントコマンドで簡単なものを作ってみました。
ピクチャの回転を使っているので、たぶん回り方はイメージとは違うと思いますが、お試しください。
↓このピクチャ(例)を ↓表示させて、 ↓並列処理で移動と回転をさせると、 ↓このように表示されます。
WTRさんが質問してくれたので、
イベントコマンドで簡単なものを作ってみました。
ピクチャの回転を使っているので、たぶん回り方はイメージとは違うと思いますが、お試しください。
↓このピクチャ(例)を ↓表示させて、 ↓並列処理で移動と回転をさせると、 ↓このように表示されます。
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
https://twitter.com/kuroudo119
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
私もピクチャの移動でいいんじゃないかなぁ、と感じました。
例としてハエがたかっている、ということだったので円運動が妥当かどうかちょっと疑問もあり
円運動以外にも以前試したことがあるサンプルをいくつか出してみます。
スクリプトでちょっと複雑な軌道リサジュー曲線というヤツを作っています。
くろうどさんのと同様、ピクチャID1に何か表示したうえで並列処理で以下のスクリプトを実行します。
ちなみに
$gamePlayer.screenX() + 48 の 48 は円の半径です。大きくすると大きく回転する。
Graphics.frameCount % 120) / 120) は 120フレーム つまり2秒で1回転を意味します。120 を小さくすると高速移動します。
例としてハエがたかっている、ということだったので円運動が妥当かどうかちょっと疑問もあり
円運動以外にも以前試したことがあるサンプルをいくつか出してみます。
スクリプトでちょっと複雑な軌道リサジュー曲線というヤツを作っています。
くろうどさんのと同様、ピクチャID1に何か表示したうえで並列処理で以下のスクリプトを実行します。
コード: 全て選択
//円軌道
const x = $gamePlayer.screenX() + 48 * Math.cos( 2 * Math.PI * (Graphics.frameCount % 120) / 120);
const y = $gamePlayer.screenY() + 48 * Math.cos((1/2) * Math.PI + 2 * Math.PI * (Graphics.frameCount % 120) / 120);
$gameScreen.movePicture(1,1,x,y,100,100,255,0,1)
コード: 全て選択
//楕円軌道
const x = $gamePlayer.screenX() + 48 * Math.cos( 2 * Math.PI * (Graphics.frameCount % 120) / 120);
const y = $gamePlayer.screenY() + 48 * Math.cos((1/4) * Math.PI + 2 * Math.PI * (Graphics.frameCount % 120) / 120);
$gameScreen.movePicture(1,1,x,y,100,100,255,0,1)
コード: 全て選択
//∞軌道
const x = $gamePlayer.screenX() + 48 * Math.cos( 2 * Math.PI * (Graphics.frameCount % 120) / 120);
const y = $gamePlayer.screenY() + 48 * Math.cos((1/2) * Math.PI + 4 * Math.PI * (Graphics.frameCount % 120) / 120);
$gameScreen.movePicture(1,1,x,y,100,100,255,0,1)
コード: 全て選択
//よくわからない軌道1
const x = $gamePlayer.screenX() + 48 * Math.cos( 2 * Math.PI * (Graphics.frameCount % 120) / 120);
const y = $gamePlayer.screenY() + 48 * Math.cos((1/2) * Math.PI + 6 * Math.PI * (Graphics.frameCount % 120) / 120);
$gameScreen.movePicture(1,1,x,y,100,100,255,0,1)
コード: 全て選択
//よくわからない軌道2
const x = $gamePlayer.screenX() + 48 * Math.cos( 4 * Math.PI * (Graphics.frameCount % 120) / 120);
const y = $gamePlayer.screenY() + 48 * Math.cos((1/4) * Math.PI + 6 * Math.PI * (Graphics.frameCount % 120) / 120);
$gameScreen.movePicture(1,1,x,y,100,100,255,0,1)
$gamePlayer.screenX() + 48 の 48 は円の半径です。大きくすると大きく回転する。
Graphics.frameCount % 120) / 120) は 120フレーム つまり2秒で1回転を意味します。120 を小さくすると高速移動します。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
https://twitter.com/wtr_in_reverie/
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
お二方どうもありがとうございます!
WTRさんの楕円軌道が理想形に近かったのですが、この軌道を斜め方向の楕円ではなく真横方向への楕円にし
公転の中心をもう少し上の方にして頭上で公転させる感じにするにはどう弄れば良いのでしょうか?
WTRさんの楕円軌道が理想形に近かったのですが、この軌道を斜め方向の楕円ではなく真横方向への楕円にし
公転の中心をもう少し上の方にして頭上で公転させる感じにするにはどう弄れば良いのでしょうか?
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
円軌道をベースにY方向の変位を小さくすれば横長の楕円になります。
48 * Math.cos ...
24 * Math.cos ...
この 比率が1:1なら円、2:1 なら半分に潰れた楕円になります。
位置を変えるのは単純にY方向に足し引きすればよいです。頭上に、ということなのでマイナスです。
48 * Math.cos ...
24 * Math.cos ...
この 比率が1:1なら円、2:1 なら半分に潰れた楕円になります。
位置を変えるのは単純にY方向に足し引きすればよいです。頭上に、ということなのでマイナスです。
コード: 全て選択
//横長楕円
const x = $gamePlayer.screenX() + 48 * Math.cos( 2 * Math.PI * (Graphics.frameCount % 120) / 120);
const y = $gamePlayer.screenY() - 48 + 24 * Math.cos((1/2) * Math.PI + 2 * Math.PI * (Graphics.frameCount % 120) / 120);
$gameScreen.movePicture(1,1,x,y,100,100,255,0,1)
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
https://twitter.com/wtr_in_reverie/
Re: 操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
理想通りの動きになりました!
これでハエをぶんぶんさせられます!
ありがとうございました!
これでハエをぶんぶんさせられます!
ありがとうございました!
Re: 【解決済】操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
ちなみにイベントの位置を指定するなら
$gamePlayer.screenX() --> $gameMap.event(イベントId).screenX()
$gamePlayer.screenY() --> $gameMap.event(イベントId).screenY()
に置き換えてください。
$gamePlayer.screenX() --> $gameMap.event(イベントId).screenX()
$gamePlayer.screenY() --> $gameMap.event(イベントId).screenY()
に置き換えてください。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
https://twitter.com/wtr_in_reverie/
Re: 【解決済】操作キャラの周りを他のキャラが回り続けるプラグインはありますか?
ありがとうございます!
色々弄ってみて色んな表現が出来るようにしてみようと思います
色々弄ってみて色んな表現が出来るようにしてみようと思います