#游戏unity-音之国度#战斗系统中图鉴UI

本文介绍了在Unity游戏《音之国度》的战斗系统中,如何创建一个可拖动并能等比例缩放的图鉴UI。UI允许玩家在战斗中实时查询音符兽信息,拖拽功能通过实现IPointerDownHandler和IDragHandler接口,放缩功能同样基于这两个接口实现,确保UI不会超出游戏界面。代码实现涉及坐标转换和数学运算。
摘要由CSDN通过智能技术生成

#游戏unity-音之国度#战斗系统中图鉴UI

在对战时,如果对面出现了不熟悉的音符兽,我们希望可以查询对面的音符兽情况,所以就需要一个战斗图鉴。我们需要实时点开进行查询。所以做了一个可拖拽的图鉴UI,如下图所示(背景图是随意找的)——
这里写图片描述
这个图鉴框是可拖拽的,按住右下角的三角可以对UI进行大小的等比例调节,在战斗时并不会影响战斗效果。
接下来,我们来详解是如何做成的;
首先当然是新建UI系统,来安置Button和Panel,这里就不详细操作了;
接着,因为需要进行缩放和拖拽,所以,要对可进行最大范围进行限制,以免出了游戏界面,新建一个Panel命名为可拖拽区域,在其中的子物体新建如下图
这里写图片描述
主要需要实现的两个功能是需要绑上另外的脚本的,其他的例如按钮的点击功能、关闭对话框等功能很基础就不赘述了。

拖拽功能的实现

基本是实现了两个接口IPointerDownHandler, IDragHandler,来判断点击事件是来自屏幕还是按钮,而其中的IPointerDownHandler的主要方法是 OnPointerDown,可以将即时数据作为传入的参数。不懂的同学可以前往unity官网查看API 时空门
而在代码中写UI主要的一点就是进行坐标的转换,主要是关于本地坐标和相对屏幕的坐标之间的转换,其中还需要用到Math库中的方法函数,所以大多是计算的代码了。逻辑上主要就是根据实现的两个接口来实现。代码如下,绑定在Drag Zone 上


using UnityEngine;
using UnityEngi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值