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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频