NGUI 血条制作

来源:互联网 发布:,知其雄守其雌! 编辑:程序博客网 时间:2024/04/29 11:50

直接上代码

//角色        public Transform Cube;        //角色的血条        public Transform UI;  //默认血条缩与摄像机的距离        private float Fomat;        //角色头顶的点, 最好让美术把这个点直接做在fbx模型里面。        private Transform Head;        void Start ()         {          //找到角色身上头顶的点                Head = Cube.Find("head");                //计算以下默认血条的距离,也可以写个常量,就是标记一下                Fomat  = Vector3.Distance(Head.position,Camera.main.transform.position);        }        void Update ()         {          //这里可以判断一下 如果位置没有变化就不要在赋值了                float newFomat = Fomat / Vector3.Distance(Head.position,Camera.main.transform.position);                UI.position  = WorldToUI(Head.position);                //计算出血条的缩放比例                 UI.localScale = Vector3.one * newFomat;    //测试代码,按下W S键前后移动角色                if(Input.GetKey(KeyCode.W))                        Cube.Translate(Vector3.forward);                if(Input.GetKey(KeyCode.S))                        Cube.Translate(Vector3.back);        }  //核心代码在这里把3D点换算成NGUI屏幕上的2D点。        public static Vector3 WorldToUI(Vector3 point)        {                Vector3 pt = Camera.main.WorldToScreenPoint(point);                //我发现有时候UICamera.currentCamera 有时候currentCamera会取错,取的时候注意一下啊。                Vector3 ff =         UICamera.currentCamera.ScreenToWorldPoint(pt);                //UI的话Z轴 等于0                 ff.z = 0;                return ff;        }


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一个月宝宝粘人怎么办 2岁宝宝太粘人了怎么办 8个月宝宝很粘人怎么办 7个月宝宝呕吐是怎么办 一个月婴儿粘人怎么办 八个月小孩粘人怎么办 一岁的宝宝粘人怎么办 六个月宝宝粘人爱哭怎么办 摔伤结巴里面灌脓了怎么办 两周半的宝宝说话结巴怎么办 孩子两周说话结巴怎么办 名字取了生僻字考大学怎么办 淘宝客服一直不说话怎么办 淘宝客服不说话也不发货怎么办 面对不说话的客人怎么办? 卖家客服不回复怎么办 2周小孩说话结巴怎么办 微信群里只领红包不说话的人怎么办 躺在微信不说话的客户怎么办 9岁儿童说话结巴怎么办 5岁儿童说话结巴怎么办 京东客服不说话怎么办 两岁宝宝说话有点结巴怎么办 孩子不敢跟外人说话怎么办? 孩子不爱跟外人说话怎么办 别人说我不说话怎么办 衣服屁股那块变亮怎么办 小孩家里说话外面不说话怎么办 2个月小宝宝便秘怎么办 3个月小宝宝便秘怎么办 微信客户不说话怎么办 一岁半宝宝便秘肛裂怎么办 网恋现在都不说话了怎么办 宝宝便秘四天了怎么办 月子里小孩吐奶怎么办 月子里的小孩吐奶怎么办 婴儿吃多了吐奶怎么办 20个月孩子便秘怎么办 一岁宝宝肛裂怎么办 婴儿吃饱了吐奶怎么办 23天新生儿吐奶怎么办