RPG游戏《黑暗之光》流程介绍与代码分析之(七):状态系统与药品系统的实现

状态系统与药品系统是游戏中的扩展部分,每个系统难度都不算大,因此本篇博客将介绍这两个系统的实现。

7.1 状态系统的实现 

状态系统的作用是便于玩家查看角色当前的等级和技能点分配。

7.1.1 状态界面的初始化

状态初始化信息存储在角色下的PlayerStatus脚本之中,为这个脚本添加一些基础数据,作为主角的初始属性。如下
using UnityEngine;
using System.Collections;

public class PlayerStatus : MonoBehaviour {

    public int hp = 100;
    public int mp = 100;
    public int coin = 200;
    public int grade = 1;

    public int attack = 20;
    public int attack_plus = 0;
    public int defense = 20;
    public int defense_plus = 0;
    public int speed = 20;
    public int speed_plus = 0;
    public int point_remain = 0;

    public void GetCoin(int coinNumber)
    {
        coin += coinNumber;
    }

}
在UI Root中建立一个Sprite,命名为Status,作为角色的状态界面,其中包括若干个Label,以及3个加技能点的Sprite,这部分的界面设计因人而异,如下图

在点击功能面板的Status后,需要弹出或隐藏状态面板,因此需要考虑UI界面的显示与隐藏效果,设置方法与背包Inventory的显示/隐藏类似,不做赘述,只说明一下具体步骤

  1. 设置一个TransformState(),并增加一个标志位作为改变显示/隐藏的判断依据
  2. 在控制功能列表的控制脚本FunctionBar中的控制状态面板点击的函数中调用TransformState()

7.1.2 对状态信息的访问与更改

我们在Status脚本中对上述Label与Sprite进行管理,以便访问和修改状态信息
创建如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值