GameMaker 日本語掲示板

Collision Maskの大きさはそのままでスプライトを拡大縮小したい

2 コメント
views
17 フォロー

image_xscaleやimage_yscaleを用いてスプライトを拡大縮小していたのですが、この場合Collision Mask(bbox)の大きさも一緒に変わってしまいます。

衝突判定には影響のないよう、Collision Maskの大きさは変えないまま、スプライトの(画像の)大きさのみ変動させるには、どのような方法があるのでしょうか?

GameMaker初心者です。的外れな質問でしたらすみません。
ご存知の方いらっしゃいましたら、教えていただけると助かります。

名前なし
作成: 2022/11/02 (水) 01:20:52
通報 ...
1
asa 2022/11/02 (水) 14:08:53 修正

collision maskは、ビルトイン変数であるimage_xscale、image_yscale、image_angleに連動して変化します。
なのでこれらを使わずに
img_xscale, img_yscaleなどの自前の変数(変数名は何でもいいです)を使って拡大縮小させるといいですよ。

// create eventなどで
img_xscale = 2;
img_yscale = 2;

// drawイベントで
draw_sprite_ext(spr_character, image_index, x, y, img_xscale, img_yscale, image_angle, c_white, image_alpha);

こんな感じで。

2

返事が遅くなってしまいすみません。
教えていただいた方法でdrawイベントを使って描画のみ拡大したところ、期待していた通りの実装が行うことができました!ありがとうございます!