【解決済み】ピクチャをスクリプトで伸び縮みさせるとピクチャがずれていく

返信する
chakodasaku
記事: 18
登録日時: 2023年5月02日(火) 12:42

【解決済み】ピクチャをスクリプトで伸び縮みさせるとピクチャがずれていく

投稿記事 by chakodasaku »

ピクチャでゲージ画像を表示させて、変数で設定したゲージの値が増減するタイミングで
$gameScreen.movePicture(ピクチャ番号,原点,x座標,y座標,幅拡大率,高さ拡大率,不透明度,合成方法,移動時間);
のスクリプトによってゲージを伸び縮みさせようと試みたのですが、ゲージが2/3程度減ったタイミングで左に1ピクセルずれてしまい、1/3程度減ったタイミングでさらに1ピクセルずれてしまいます。

大幅なズレではないものの、ゲージの背景画像とピッタリ合わせたいので1ピクセルもズレることなく伸び縮みさせたいです。
どういうイベントの組み方をすればよいでしょうか?

現在のイベントの組み方はこんな感じです。
EV001(イベント実行は最初の1回のみ) 
◆ピクチャの表示:#1, hpback, 左上 (900,50), (100%,100%), 255, 通常
◆ピクチャの表示:#2, hp, 左上 (900,50), (100%,100%), 255, 通常

EV002(プレイヤーHPが増減するたびに実行)
◆変数の操作:#0001 プレイヤー現在HP -= 1
◆スクリプト:$gameScreen.movePicture(2, 0, 900, 50, $gameVariables.value(1), 100, 255, 0, 1);
最後に編集したユーザー chakodasaku [ 2023年5月12日(金) 06:22 ], 累計 1 回
ゆわか
記事: 416
登録日時: 2015年11月10日(火) 20:08
連絡する:

Re: ピクチャで表示させたゲージをスクリプトで伸び縮みさせるとピクチャがずれていく

投稿記事 by ゆわか »

おそらくですが
ゲージの絵の左端の2角が直角でない、または左端にスキマがあるデザインのため、その部分の形が拡大縮小で変化してしまってずれが生じると考えられます。
もしそうだとしたら
ゲージは3枚の画像を必要とするかもしれません。

1枚目・ゲージの背景(ゲージが赤で、減ると黒くなるなら黒い絵)
2枚目・左端の2角を90度にし、スキマをなくした伸縮するメーター画像(ゲージが赤色なら赤い絵)
3枚目・ゲージの表示部分を透過にしたフレームのデザイン画

いやいや、画像を増やしたくないという場合は
左端にスキマができないよう、なるべく四角い形にデザインする。
とか。
ずれが生じるタイミングが分かっているようなので、そのタイミングで
表示位置を変更するようにする。
とかでしょうか。

いやいやゲージは四角だという場合は、ちょっとわからないです。
解決することを祈っています。
chakodasaku
記事: 18
登録日時: 2023年5月02日(火) 12:42

Re: ピクチャで表示させたゲージをスクリプトで伸び縮みさせるとピクチャがずれていく

投稿記事 by chakodasaku »

・ゲージの絵の左端の2角が直角でない
・左端にスキマがあるデザイン

どちらも当てはまっていました。
2角を直角に描き変え、余分な透過部分をなくしたらゲージ背景にピッタリおさまるようになりました!

助かりました!ありがとうございました :D
返信する

“MZ:質問”に戻る