【解決】移動中のピクチャを差し替えたい

返信する
げっかもん
記事: 3
登録日時: 2022年12月22日(木) 10:15

【解決】移動中のピクチャを差し替えたい

投稿記事 by げっかもん »

ピクチャn番を位置や移動の情報を引き継いだままx.pngという画像に差し替える、ということをしたいです。
「ピクチャの移動」で移動中のピクチャを「ピクチャの表示」で他のピクチャに差し替えると、移動中の情報がなくなってしまいます。
移動中の任意のタイミングでピクチャn番の原点、(x,y)、拡大率、不透明度、合成方法の情報を引き継いだまま別の画像に差し替え、そのまま移動の指示を引き継いで移動を完結したいです。
これをなにかスクリプトかプラグインで解決できればと考えております。

どうかよろしくお願いします。
最後に編集したユーザー げっかもん [ 2023年8月27日(日) 08:18 ], 累計 1 回
アバター
DoujinRuis
記事: 166
登録日時: 2022年10月25日(火) 10:59

Re: 移動中のピクチャを差し替えたい

投稿記事 by DoujinRuis »

ゲーム制作情報共有ディスコード
discord.com/invite/dzUAC3CSMH

普段Youtubeで同人ゲームの情報を発信しています
https://www.youtube.com/@DoujinRuis/videos
げっかもん
記事: 3
登録日時: 2022年12月22日(木) 10:15

Re: 移動中のピクチャを差し替えたい

投稿記事 by げっかもん »

コメントありがとうございます。
申し訳ありませんが私の求めているものとは少し異なります。

例えば、「ピクチャの移動」を使って座標(0,0)にあるピクチャ1を(600,0)に60fかけて移動させるとします。
しかし30f経過した時点でピクチャ1を別の絵に変えたいとします。
30f経過した時点で今ピクチャ1がある地点(300,0)にピクチャ表示をすれば絵は差し替えられますが、(600,0)に移動するという命令は消去されてしまいます。まず1点はこの移動する命令を残したままにしたいと考えています。

もう一点はピクチャの位置だけでなく拡大率や不透明度まで引き継いで新しいpngデータに適応したいというところです。
ecf5DTTzl6h6lJj02
記事: 752
登録日時: 2018年12月23日(日) 13:55

Re: 移動中のピクチャを差し替えたい

投稿記事 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 に入れて使っています)

ご確認ください。
げっかもん
記事: 3
登録日時: 2022年12月22日(木) 10:15

Re: 移動中のピクチャを差し替えたい

投稿記事 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 に入れて使っています)

ご確認ください。
返信する

“MV:質問”に戻る