游戏知识推演:角色图片的锚点与水平翻转——16×18图片与锚点(11,17)(记录21)
角色翻身后位置跳动,有时并非移动系统出错,而是绘图锚点与图片左上角混淆。固定世界锚点后,水平翻转会改变左右边界相对锚点的距离。
下面是一份输入完整的独立练习。先明确规则和端点约定,再逐项推演;可以遮住计算结果自行记录,出现差异时从第一处不同查起。每项输入都是本例设定,不代表所有游戏采用同一套规则。
本例规则与输入
图片是宽高确定的连续矩形,局部锚点坐标从左上角计算;只做水平镜像,不改变世界锚点,也不裁掉透明区域。所有区间按几何边界描述,不讨论像素中心的半格约定。
图片16×18,局部锚点(11,17) [[-10, -11], [25, 23], [-6, 1], [-11, -18], [-9, 14], [0, 19], [10, 4]]
过程记录
锚点(-10,-11):正常边界[-21, -28, -5, -10],水平翻转后[-15, -28, 1, -10];左边界移动6,但锚点(-10,-11)与矩形尺寸都不变。
锚点(25,23):正常边界[14, 6, 30, 24],水平翻转后[20, 6, 36, 24];左边界移动6,但锚点(25,23)与矩形尺寸都不变。
锚点(-6,1):正常边界[-17, -16, -1, 2],水平翻转后[-11, -16, 5, 2];左边界移动6,但锚点(-6,1)与矩形尺寸都不变。
锚点(-11,-18):正常边界[-22, -35, -6, -17],水平翻转后[-16, -35, 0, -17];左边界移动6,但锚点(-11,-18)与矩形尺寸都不变。
锚点(-9,14):正常边界[-20, -3, -4, 15],水平翻转后[-14, -3, 2, 15];左边界移动6,但锚点(-9,14)与矩形尺寸都不变。
锚点(0,19):正常边界[-11, 2, 5, 20],水平翻转后[-5, 2, 11, 20];左边界移动6,但锚点(0,19)与矩形尺寸都不变。
锚点(10,4):正常边界[-1, -13, 15, 5],水平翻转后[5, -13, 21, 5];左边界移动6,但锚点(10,4)与矩形尺寸都不变。
翻转前后左边界之差恒为2×11-16=6。
复核与实际应用
把原矩形四个角相对锚点的横向偏移取反,再加回世界锚点,可以独立得到翻转后的边界。两种状态应宽高相同,世界锚点始终不动。
当锚点恰在水平中心时,两种方向的外接矩形相同;偏离中心时,边界变化反而是正确镜像结果。若角色脚底必须贴地,垂直锚点的约定也需要一致,水平翻转不应修改它。
练习结束后,保留输入、每一步的中间状态和最终结果。可以仅修改一个边界输入,再比较变化来自哪条规则;不要同时改动多个条件后只凭最终画面判断。若实际作品表现不同,应先确认它使用的时间、坐标或结算约定,再决定是否属于异常。
