zoukankan      html  css  js  c++  java
  • 背包系统

    大致流程:
    1.设置gui界面
    2.将拾取到的物体存储(scriptableObject)
    3.gui显示拥有的物品的信息(图片,数量。描述)
    4.实现可以拖曳物品的效果
     
    涉及知识点
     
    1每一个在世界中的可拾取物品都挂载itemOnworld脚本
    拾取物品函数 在itemOnworld脚本中
    拾取逻辑如下:
    遍历inventory list,
    背包中没有过,添加一个新item的到inventory list中,设置held为1
    背包中已有,将item.held+1
     
    2使用单例控制组件显示层的逻辑,方便下数据层和数据存储层数据调用。
     
    3instantitate 用prefabs生成实体
     
    4每一个item都要挂载itemOndrag
    itemOndrag实现拖曳接口(IbeginDragHandler,IdragingHandler,Ienddraghandler)
    通过transform.position改变改变item的位置实现交换,放置
     
    5.为防止渲染过程中item中的itemImage被slot(父对象)的贴图挡住,需要暂时解除父级关系transform.setParent
     
    6.PointEventData evendata.pointerCurrentRaycast.gameobject 射线检测ui元素,为item添加Canvas group组件,拖曳过程中需要将blockRayCast 置否,否则将会一直检测到item,无法检测到后面的。
     
    7.解决拖曳开始时一瞬间物体飘移到左下角的情况,为item添加LayOut Element 选中Ignore layout
     

  • 相关阅读:
    scala
    数据结构(01)
    基本算法(07)
    基本算法(06)
    基本算法(05)
    git pull文件时和本地文件冲突的问题
    获取两个日期之间的日期形成一个集合
    lombok的简单介绍(2)
    springboot启动报错
    逆向工程的创建
  • 原文地址:https://www.cnblogs.com/micro-universe/p/13684470.html
Copyright © 2011-2022 走看看