ssdut_209 2016-10-01 13:35 采纳率: 50%
浏览 2365
已结题

unity3D 游戏角色血条屏幕适配问题

做一个3D游戏,要给游戏中的人物头顶上做一个跟随的血条,出现如下问题:
当改变屏幕的分辨率时,血条位置发生巨大偏移。求大神解决。

一下是我unity 工程里的一些参数

Canvas 参数:
UI Scale Mode Scale With Screen Size
Reference Resolution : X:960 Y:640
Screen Match Mode : Match Width Or Height
Match :1
图片说明

图片说明

图片说明
以下是血条跟随人物的代码:

 void Update () {
                    if (target == null)//target 是被跟随的角色
            Destroy (this.gameObject);
        else {
                        pos = target.transform.position;//角色世界坐标
                pos = Camera.main.WorldToScreenPoint (pos);//角色屏幕坐标
            pos = pos * 640 / Screen.height;//适配,为什么这条语句不能达到适配的目的
            pos.x -= Screen.width >> 1;
            pos.y -= Screen.height >> 1;
            this.transform.localPosition = pos;
        }
    }

如果我讲得不清楚,欢迎加我QQ 497262647 来为我解答,感激不尽

  • 写回答

1条回答 默认 最新

  • devmiao 2016-10-01 16:39
    关注
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?