在游戏当中我们往往都会有技能详细信息的说明UI。它是用来描述技能的,比如它能造成多少伤害,是如何体现的等等。那么我们在玩游戏的时候,你只需要把鼠标往技能UI上一放,就会出现技能的详细信息了。这个需求也是游戏当中的普遍需求了。那么我们在unity中要如何做才能实现它呢?先上效果图看看把 我们通过这张图就能很明显的看到,这是普通的一个UI界面,我们把光标移动到某个技能图标上面去,就会出现对应的技能描述。而且如果你把鼠标不放在UI上面,那么显示的技能信息立马就会消失掉。这就是游戏中的需求,我这里也已经搞定了。那么是怎么做的呢?其实很简单的。
![532279305b9f00a47404306149c89e10.png](https://i-blog.csdnimg.cn/blog_migrate/56a3170c99c07899a4c2791d30fbf556.jpeg)
先说下原理,我们通过鼠标的触发事件来做。当鼠标悬停在UI上面时,就会触发事件。我们就通过得到它停在哪个UI上面,然后显示对应的信息即可。那么如何得知在哪个UI上面呢?我们可以通过名字来做,当然也有另外的方法,压根就不需要知道UI是在谁上面,我们提前做好UI的预制体,结构也要统一下。那我这里是把每个技能都提前做好一个描述信息。然后隐藏起来,等到鼠标放在当前这个UI上面的时候,就会把他显示出来。这边直接给出代码。
![edfcf0d3f2afdd9bfb2190119022c2d0.png](https://i-blog.csdnimg.cn/blog_migrate/59ead527437a04a40ac2500a34365f39.jpeg)
这就是整个的显示节能信息UI的制作。是不是很简单,再给看下UI控件的制作把:
![4693eda733fd0d5d18d7b53777a6e959.png](https://i-blog.csdnimg.cn/blog_migrate/bfc077f679bcc9034fbff1299047d831.jpeg)
如何是要切换技能的信息显示,也很简单,首先把上一次显示成功的事件数据保存起来,然后等到下一次触发事件的时候,对比下两次的物体是不是一样的,如果一样,就显示上一次的,如果不一样,就刷新UI信息。同时再刷新保存起来。就OK了。
好了,本次的分享到此结束了,这是我RTS游戏里的一部分内容。后期我会陆续分享接下来其他部分的。不喜勿喷哦。点击链接加入群聊【Unity/Cocos交流群】