ページ 1 / 1
【解決】移動中のピクチャを差し替えたい
Posted: 2023年8月26日(土) 19:42
by げっかもん
ピクチャn番を位置や移動の情報を引き継いだままx.pngという画像に差し替える、ということをしたいです。
「ピクチャの移動」で移動中のピクチャを「ピクチャの表示」で他のピクチャに差し替えると、移動中の情報がなくなってしまいます。
移動中の任意のタイミングでピクチャn番の原点、(x,y)、拡大率、不透明度、合成方法の情報を引き継いだまま別の画像に差し替え、そのまま移動の指示を引き継いで移動を完結したいです。
これをなにかスクリプトかプラグインで解決できればと考えております。
どうかよろしくお願いします。
Re: 移動中のピクチャを差し替えたい
Posted: 2023年8月26日(土) 21:37
by DoujinRuis
Re: 移動中のピクチャを差し替えたい
Posted: 2023年8月26日(土) 23:05
by げっかもん
コメントありがとうございます。
申し訳ありませんが私の求めているものとは少し異なります。
例えば、「ピクチャの移動」を使って座標(0,0)にあるピクチャ1を(600,0)に60fかけて移動させるとします。
しかし30f経過した時点でピクチャ1を別の絵に変えたいとします。
30f経過した時点で今ピクチャ1がある地点(300,0)にピクチャ表示をすれば絵は差し替えられますが、(600,0)に移動するという命令は消去されてしまいます。まず1点はこの移動する命令を残したままにしたいと考えています。
もう一点はピクチャの位置だけでなく拡大率や不透明度まで引き継いで新しいpngデータに適応したいというところです。
Re: 移動中のピクチャを差し替えたい
Posted: 2023年8月27日(日) 04:38
by ecf5DTTzl6h6lJj02
こんにちは。
げっかもん さんが書きました:コメントありがとうございます。
申し訳ありませんが私の求めているものとは少し異なります。
例えば、「ピクチャの移動」を使って座標(0,0)にあるピクチャ1を(600,0)に60fかけて移動させるとします。
しかし30f経過した時点でピクチャ1を別の絵に変えたいとします。
30f経過した時点で今ピクチャ1がある地点(300,0)にピクチャ表示をすれば絵は差し替えられますが、(600,0)に移動するという命令は消去されてしまいます。まず1点はこの移動する命令を残したままにしたいと考えています。
もう一点はピクチャの位置だけでなく拡大率や不透明度まで引き継いで新しいpngデータに適応したいというところです。
あまりいいやり方とは言えませんが、
コード: 全て選択
$gameScreen.picture(ピクチャ番号)._name = 画像名;
で、ピクチャの画像を変更することができるので、
ピクチャの移動をウェイトをかけずに実行した後、
イベントコマンドのウェイトで、画像を差し替えるタイミングまでウェイトをかけ、
上記のスクリプトを実行し、
残りのフレーム数(+余韻分)、イベントコマンドからウェイトをかけるという処理、
例えば、
コード: 全て選択
◆ピクチャの表示:#1, Actor1_3, 左上 (0,0), (100%,100%), 255, 通常
◆ピクチャの移動:#1, 左上 (600,0), (200%,200%), 0, 通常, 60フレーム
◆ウェイト:30フレーム
◆スクリプト:$gameScreen.picture(1)._name = 'Actor1_4';
◆ウェイト:60フレーム
◆ピクチャの消去:#1
◆セルフスイッチの操作:A = ON
のようなイベントを作れば、ご希望の動作になるのではないかなと思います。
(上記イベントでは img/enemies に存在する画像を img/picture に入れて使っています)
ご確認ください。
Re: 移動中のピクチャを差し替えたい
Posted: 2023年8月27日(日) 08:16
by げっかもん
ecf5DTTzl6h6lJj02様
おはようございます。
下記のコードで試してみましたら、想定通りの行動ができました!
コモンイベントでプリセットを作っておけば、これでいろんなパターンに対応できると思います。
解決いたしました。ありがとうございました。
ecf5DTTzl6h6lJj02 さんが書きました:こんにちは。
げっかもん さんが書きました:コメントありがとうございます。
申し訳ありませんが私の求めているものとは少し異なります。
例えば、「ピクチャの移動」を使って座標(0,0)にあるピクチャ1を(600,0)に60fかけて移動させるとします。
しかし30f経過した時点でピクチャ1を別の絵に変えたいとします。
30f経過した時点で今ピクチャ1がある地点(300,0)にピクチャ表示をすれば絵は差し替えられますが、(600,0)に移動するという命令は消去されてしまいます。まず1点はこの移動する命令を残したままにしたいと考えています。
もう一点はピクチャの位置だけでなく拡大率や不透明度まで引き継いで新しいpngデータに適応したいというところです。
あまりいいやり方とは言えませんが、
コード: 全て選択
$gameScreen.picture(ピクチャ番号)._name = 画像名;
で、ピクチャの画像を変更することができるので、
ピクチャの移動をウェイトをかけずに実行した後、
イベントコマンドのウェイトで、画像を差し替えるタイミングまでウェイトをかけ、
上記のスクリプトを実行し、
残りのフレーム数(+余韻分)、イベントコマンドからウェイトをかけるという処理、
例えば、
コード: 全て選択
◆ピクチャの表示:#1, Actor1_3, 左上 (0,0), (100%,100%), 255, 通常
◆ピクチャの移動:#1, 左上 (600,0), (200%,200%), 0, 通常, 60フレーム
◆ウェイト:30フレーム
◆スクリプト:$gameScreen.picture(1)._name = 'Actor1_4';
◆ウェイト:60フレーム
◆ピクチャの消去:#1
◆セルフスイッチの操作:A = ON
のようなイベントを作れば、ご希望の動作になるのではないかなと思います。
(上記イベントでは img/enemies に存在する画像を img/picture に入れて使っています)
ご確認ください。