You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

横向连线游戏:不同宽高比屏幕下点无拉伸同位置生成方案咨询

解决横向连线游戏跨设备图形无拉伸显示的方案

核心思路是保持原始坐标的比例,做等比缩放+居中对齐,这是避免图形拉伸的标准解决方案,你的思路方向是对的,一点都不复杂,具体落地步骤如下:

  • 明确基准画布:你的JSON坐标范围是0-1000,相当于原始基准画布是1000×1000的正方形,比例为1:1。
  • 计算适配缩放比例:
    1. 获取横向模式下屏幕的实际可绘制区域尺寸(注意扣除状态栏、导航栏等系统占用区域)
    2. 分别计算宽、高方向的缩放系数:
      • 宽度系数:屏幕可用宽度 / 1000
      • 高度系数:屏幕可用高度 / 1000
    3. 取两个系数里较小的那个作为最终缩放比例(保证整个1000×1000的图形能完整显示在屏幕内,不会超出边界)
  • 计算居中偏移量:
    缩放后的图形宽高均为 1000 × 缩放比例,然后计算屏幕中心的偏移值:
    • X轴偏移 = (屏幕可用宽度 - 缩放后图形宽度) / 2
    • Y轴偏移 = (屏幕可用高度 - 缩放后图形高度) / 2
  • 坐标转换公式:
    把JSON里的原始坐标(x, y)转换成屏幕实际绘制坐标:
    screenX = X轴偏移 + x * 缩放比例
    screenY = Y轴偏移 + y * 缩放比例
    

你提到的“在屏幕中间创建不可见矩形”的思路,本质和这个逻辑完全一致——先锚定基准画布,再按比例缩放到屏幕可容纳的最大尺寸后居中。不需要额外去“获取矩形内特定点”,直接用上面的坐标转换公式就能完成映射,所有设备上的图形比例会完全一致,不会出现4:3和21:9屏幕的拉伸差异。

额外补充两个细节:

  • 如果后续调整了基准画布的宽高比(比如不是1:1),只需要用原始画布的宽高比替代1:1,重复上述步骤即可
  • 监听屏幕尺寸变化(比如旋转、分屏),实时重新计算缩放比例和偏移量,保证图形始终适配当前视口

内容的提问来源于stack exchange,提问作者System Requirements

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:20:43