`
380071587
  • 浏览: 446860 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

unity3d之进度条跟着游戏对象移动

 
阅读更多

今天遇到一个很困扰我的问题,我想把敌人给预制,并且进度条一起预制,但是发现不能实例化,且连绑定都不行,哎~~~~明天再解决吧,今天就只能说说进度条和游戏对象的移动了。

注意:以下操作是用iGUI做的噢~~~~

1.把物体的世界坐标转化成屏幕坐标,用WorldToScreenPoint()函数,该函数的用法我的上一篇转载的文章里面写的很清楚,不懂就可以去看看。

2.因为物体转成的屏幕坐标是左下角是(0,0),而iGUI控件的坐标是左上角为(0,0);所以用物体的屏幕坐标表示进度条的坐标的话还得有一点转化,因为X轴不变,我们就只用考虑Y轴了,我的方法是:进度条的y=Screen.height - 物体屏幕坐标的y;

3.iGUI的控件位置如果变化,记得要刷新哦,要不然你不能看到进度条移动的,用函数refreshRect();

下面看看代码吧:

  var screenpos:Vector3=Camera.main.WorldToScreenPoint(transform.position);
  enemyprogressbar.positionAndSize.x=screenpos.x;
  enemyprogressbar.positionAndSize.y=Screen.height-screenpos.y; 
  enemyprogressbar.refreshRect();//刷新进度条的屏幕坐标位置,如果没有refreshRect,进度条将不移动





虽说只有几行代码,但是我好累哦~~~~~

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics