GameMaker Studio 2如何通过代码翻转精灵朝向?翻转后变窄如何修复
问题原因
直接将image_xscale赋值为±1会覆盖精灵原本的非1默认缩放系数。如果你导入精灵后为了适配场景手动调整过初始image_xscale为非1的数值,直接重置为±1就会导致精灵出现形变。
修复方案
- 首先在精灵对应的Create事件中添加代码,提前保存精灵初始的x轴缩放值:
original_xscale = image_xscale;
- 修改你现有逻辑里的朝向翻转代码,用原始缩放值乘以方向符号即可:
key_left = keyboard_check(ord("A")) key_right = keyboard_check(ord("D")) key_jump = keyboard_check(vk_space) var move = key_right - key_left hspd = move * spd; vspd = vspd + grv; if (hspd != 0) { image_xscale = original_xscale * sign(hspd) }
如果你的游戏逻辑中后续会动态修改精灵的x轴缩放,每次修改后同步更新original_xscale的值即可避免翻转时再次出现形变。
内容的提问来源于stack exchange,提问作者zMrFake
相关产品推荐
相关产品推荐

