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

做一个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个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐