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
     

  • 相关阅读:
    缩减apk大小
    android 的安全问题
    android listview 优化
    Python正则表达式指南
    程序员必须知道的几个国外IT网站
    去掉配置项,开发自信的软件
    去掉配置项,开发自信的软件
    Linux防火墙设置
    Linux防火墙设置
    linux下如何使用sftp命令进行文件上传和下载
  • 原文地址:https://www.cnblogs.com/micro-universe/p/13684470.html
Copyright © 2011-2022 走看看