unity 背包选中_Unity - 简单背包系统

该博客介绍了如何在Unity中创建一个简单的背包系统,包括拖拽物品、选中格子和处理拖放操作的逻辑。在拖拽过程中,通过OnBeginDrag、OnDrag和OnEndDrag函数实现物品的移动、高亮和位置判断,确保物品可以正确地放入背包的格子中或与其他物品交换位置。
摘要由CSDN通过智能技术生成

新建存储了物品的Image列表。

OnBeginDrag函数在开始拖动时调用,设置显示优先级以及记录起点位置。

canvasGroup.blocksRaycasts = false;//让event trigger忽略自身,这样才可以让event trigger检测到它下面一层的对象,如包裹或物品格子等

lastEnter = eventData.pointerEnter;

lastEnterNormalColor = lastEnter.GetComponent().color;

originalPosition = myTransform.position;//拖拽前记录起始位置

gameObject.transform.SetAsLastSibling();//保证当前操作的对象能够优先渲染,即不会被其它对象遮挡住

OnDrag函数实现了Image对象的拖拽效果。

public void OnDrag(PointerEventData eventData)

{

Vector3 globalMousePos;

if (RectTransformUtility.ScreenPointToWorldPointInRectangle(myRectTransform, eventData.position, eventData.pressEventCamera, out globalMousePos))

{

myRectTransform.position = globalMousePos;

}

GameObject curEnter = eventData.pointerEnter;

bool inItem

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值