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
     

  • 相关阅读:
    python:返回函数,闭包
    对象的行为和数组
    类、对象和包
    Java语言中的程序流程控制
    初识Java,Java语言概述
    有限广播地址与直接广播地址
    H3C模拟器HCL注意事项
    HDLC协议
    NETBIOS的作用
    HP DL380G7 RAID配置
  • 原文地址:https://www.cnblogs.com/micro-universe/p/13684470.html
Copyright © 2011-2022 走看看