合作画面需要同时容纳几名角色时,可以先求全部位置的外接范围,再给范围加留白,最后按窗口尺寸选择统一缩放。只取角色坐标平均值并不一定能让两端都留出空间。
下面给出一组可以从头复算的练习数据。先按约定记录每一步,再比较最后的核对条件;遇到差异时,不急着修改答案,而是先找出从哪一步开始不同。本例描述的是明确限定的游戏规则模型,不代替某款作品自己的说明。
本例不旋转镜头,世界与画面的纵轴都向上。中心取最左最右和最上最下的中点;两轴使用同一缩放,且最多原尺寸,不做放大。留白按世界单位计算。
对外接范围两端各加留白;中心取范围中点;缩放取宽度比例、高度比例和1中的最小值。
画面宽76高43,世界留白5 角色世界位置[(-20, -20), (-5, -5), (10, 10), (25, -5), (20, 10), (-25, -5)]
世界点(-20,-20)相对中心偏移(-20,-15),缩放后画面位置(18,13/2)。
世界点(-5,-5)相对中心偏移(-5,0),缩放后画面位置(33,43/2)。
世界点(10,10)相对中心偏移(10,15),缩放后画面位置(48,73/2)。
世界点(25,-5)相对中心偏移(25,0),缩放后画面位置(63,43/2)。
世界点(20,10)相对中心偏移(20,15),缩放后画面位置(58,73/2)。
世界点(-25,-5)相对中心偏移(-25,0),缩放后画面位置(13,43/2)。
含留白范围[-30,-25,30,15],中心(0,-5),统一缩放1。
把加过留白的范围四个角映射到窗口后,都必须位于边界内。横纵缩放不能各算各用,否则虽然塞得进画面,却会改变形状比例。
角色突然分开时,马上改变缩放可能让画面跳动;实际项目可以再增加平滑,但平滑过程可能暂时容纳不下全部角色。这里先给出静态目标,便于分开检查范围计算与动态效果。
把边界、顺序与适用范围写进记录,比只记一个最后数字更有用。可以另外构造刚好在边界、完全没有变化和多个条件同时成立的情况,查看规则是否仍自洽;若要改变设定,保留原案例作为对照,再重新计算受影响的部分。
以便获取最新的优惠活动以及最新资讯!