您的位置:首页 > 移动开发 > Unity3D

Unity处女作学习总结--第二、三天

2017-08-22 22:15 246 查看
第一天主要实现了简单的UI系统,第二天的主要目标是建立属性状态系统: 人物属性,人物核心状态(生命,魔力,精力),人物技能状态。

在这一部分里深刻明白了继承与分层控制的重要性。

举个简单的例子,首先是 核心状态 和 技能状态:二者很明显 具有某些共同的属性,比如说 名字,基础值 ,当前值。这些最基本的共同点是可以继承下去的,所以设置一个类 BaseStat ,用于存放相关的属性。

接着 状态 是受 人物属性影响的,因此在继承自基础类的一个类 : ModifiedStat:这个类 有一些 修改器 Mods,可以通过修改器来更新 核心状态和技能状态,比如磕了药力量增加,近战技能伤害增加(虽然对于2D 可能有点滑稽)。

然后才是 核心状态类 和 技能状态类,单独设定自己的相关函数及属性,父类的属性也能调用。

之后是属性类的建立,修改器类的建立,不再赘述。

在这里表示 该属性 有多少种的时候,最好的方法就是使用枚举类型,如果可以的话最好加上默认整数值(从0开始),这对于之后数值的访问是非常方便的。

基本实现了属性的顺利写入及读取(在脚本中,并未做到可视化)

第二天~~~

第三天主要建立 人物生成界面 (以实现属性及状态的可视化,以及可视化互动)

使用CanvasUI系统

首先自然是找素材,把背景搭起来,创建背景,角色形象显示背景。

然后在其中穿插一些:

按钮:用于更改属性

文本:用于显示 属性名称

文本:显示属性值

当要素都做好之后,开始准备 显示 与 用户输入的交互。

这一点非常的难缠:

1、在脚本中的代码交互测试中发现很多有漏洞的地方,开始进行改良。

2、对于这种形式的UI不是很熟悉,查了很久的官方文档。

这一部分做好之后,游戏才有了一点交互的感觉,也是蛮开心的。

数据存储

接着开始准备数据的存储和载入,毕竟创建完角色,肯定要保存的。

在这里,本来想用文件系统来进行保存,后来觉得小游戏就先用PlayerPrefs来做了。对于角色脚本使用了单例模式,以便拿到数据之类的。

在这里不得不提一下“简单”的坑:

所有继承自MonoBehavior的脚本都需要绑定在对象上,而且对象还要在Hierarchy层级中,才能拿到相关引用。所以直接new 一个脚本对象,想通过这个来调用相关函数只能得到 空引用异常。所以后来又加了许多控制对象,比如GameMaster 之类的.

第三天~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity ui 继承