Unity3d - RPG项目学习笔记(十六)

上期功能实现了NPC模型的点击逻辑,现在开始建立药品的信息清单窗口。

功能需求:

①显示药品的信息列表,包含:物品得icon、物品名称、物品效果,物品价格;

②显示药品的购买按钮,实现点击功能;

③点击购买按钮后,显示输入框,输入框内输入数字后,有OK确认按钮。

构建过程如下:

①创建一个sprite,定义为商店背景;

②创建一个sprite,定义为药品信息行;

③在药品信息行内创建药品icon,再创建三个Label,依次向Label中输入名称、效果及价格;

④在药品信息行后加入购买按钮,添加按钮功能;

⑤将上述的药品信息行复制2份,分别将其中三个Label信息进行完善;

⑥在商店背景下建立一个sprite,并加入一个Label,向其加入SimpleInputField,将Label赋值给SimpleInputField,并且将SimpleInputField中的变量Validation定义为Integer,这样可以保证用户输入值为数字。

时间: 2024-10-20 13:22:37

Unity3d - RPG项目学习笔记(十六)的相关文章

Unity3d - RPG项目学习笔记(六)

前期工程已经实现了角色的移动以及镜头的控制.现在开始处理场景中的NPC以及任务UI. 一.NPC的创建 将工程中的NPC—长者模型拖动至场景内,并添加碰撞盒子,调整位置及大小. 二.任务UI的建立 2.1 任务背景的搭建 将工程素材的图片打包入工程文件的Atlas,然后在UIroot中创建背景即可. 2.2 接受/取消按钮的搭建 将Atlas中的按钮创建至背景即可,添加碰撞盒及按钮组件. 2.3 处理屏幕中的点击事件 当我们搭建完成上述内容后,发现点击UI界面,角色会向地面移动,需要对此BUG进

Unity3d - RPG项目学习笔记(二十六)

上期工程实现了将技能信息读取至内存中来,现在开始实现技能在技能栏中的显示——SrollView技术的应用. 需求: 在技能栏中显示角色的所有技能,侧边栏加入滚动条,通过滚动条可以实现技能的滚动浏览. 思路: 建立一个SrollView栏,在其中建立一个Grid用于技能的排序.然后建立一个Invisiable Widget,在其中建立起技能描述所需要的图标.名称.类型.描述及消耗. 将Widget复制多份,上下排好,然后向每个Widget加入SrollView属性,并且将SrollView栏中的卷

Unity3d - RPG项目学习笔记(二十)

前期工程将装备信息导入到了工程中,且实现了在背包内鼠标移动显示物品提示信息,本次工程开始构建装备穿戴功能. 项目需求: 右键点击背包内的装备,使其穿戴在身上. 需求分析: 右键点击背包内的装备,注意,此时的装备还是背包内的一个物品,即是工程所定义的id为2001-2010的InventoryItem而已:需求可以抽象为右键点击背包内的一个物品,如果该物品是装备类,则在角色的EquipmentUI相应的位置生成一个与之图标相同的EquipmentItem,则视为“装备”了该物品. 具体实现: ①右

Unity3d - RPG项目学习笔记(二十八)

前期工程我们终于实现了技能列表的显示,嗯,终于可以看到角色的技能啦.但是依照现在的尿性,你不做出快捷栏的话,这些技能都是只能看的.为了更好的释放技能/使用物品,现在开始制作快捷栏. 那么首先,我们必须持有一个快捷栏. 一.建立快捷栏 首先现建立一个Invisiable Wiedgt,命名为ShortCutUI,然后在内部建立6个UISprite,将图标定义为Grid,加上BoxCollider,这样我们初步的快捷栏就做好了. 二.实现技能的拖动 先明确一个概念,基于最优方案,一定是将技能的图标拖

Unity3d - RPG项目学习笔记(二十二)

上期工程完成了装备的穿戴功能,本期开始创建装备的卸下功能. 需求: 右键点击装备栏上的装备图标,使其返回至背包中. 需求拆解: 鼠标移动至装备图标上,右键点击,销毁装备,在背包中生成该装备的镜像,完毕. 根据上述思路,这个功能实现起来比较简单: ①首先为EquipmentItem添加BoxCollider,使装备栏中的装备可以被点击: ②对该EquipmentItem添加脚本如下: Class EquipmentItem { private bool isHovering = false; vo

Unity3d - RPG项目学习笔记(十二)

前期实现了背包基本的存储功能,现在开始构建背包物品的移动及调换功能,具体思路如下: ①读取现有物品所在的格子信息. ②对移动目标地点进行判断(即surface的Tag): 如果surface的Tag为空,则使物品的局部坐标归零: 如果surface的Tag不为空,分为几个情况考虑: 1.Tag为背包格子:说明移动地点为空格子,所以讲物品信息赋值到目标下,清除现有信息即可: 2.Tag为背包物品:说明移动地点为有物品格子,将两格子的信息交换即可: 3.Tag为其他物品:说明非常规移动,将物品的位移

Unity3d - RPG项目学习笔记(二十五)

接上期,前期实现了技能信息的创建以及读取至内存中,现在开始着手建立技能的显示框. 本期先实现技能界面的显示与隐藏. 需求: ①点击功能栏的技能,呼出技能栏: ②再次点击技能图标,隐藏技能栏. 思路: 与前期功能实现一个思路,建立单例模式,然后加入显示标示位,然后控制TweenPosition的播放与反播放就可以了. 脚本如下: Class SkillUI { public static SkillUi _instance; pravte TweenPosition tween; private

Unity3d - RPG项目学习笔记(二十九)

好了接上期工程,我们本期来实现图标拖动到快捷栏的方法. 需求:当技能图标拖动到快捷栏时,放开鼠标后,快捷栏对应的格子会显示技能图标. 思路:很简单,我们在每个快捷栏下设置一个任意icon,将其尺寸调整到合适大小,并且使其默认不显示,当技能图标拖动至快捷栏时,使该icon显示出来,并设置为该技能的icon. 注意:为了后续使用快捷栏的技能/物品,我们需要建立以一个enum,管理快捷栏内的物品类型. public enum ShortCutType { Skill,Inventory,None }

Unity3d - RPG项目学习笔记(二十三)

前期建立了装备信息及装配功能,现在开始着手建立技能系统. 类似于物品信息,我们首先需要设计好技能系统文本,设计好技能的分类. 设计过程中还是需要把技能作用及释放目标的分类做好,技能文本如下: 4001,致命一击,skill-02,伤害250%,SinglTarget,Attack,250,0,6,1,Swordman,1,Enemy,1.54002,格挡精通,skill-07,防御130%,Buff,Def,130,5,3,5,Swordman,3,Self,04003,战神咆哮,skill-0