unity 3D RPG高级教程(十)

目录

声明

1.Action Button 快捷栏按键

2.Stats Info 显示 Player 相关信息

3.Change Animator 切换动画控制器

4.Item Tooltip 物品信息显示栏

5..Loot Items 掉落物品


声明

本教程学习均来自U3D中文课堂麦扣老师

1.Action Button 快捷栏按键

保证我们武器栏当中有武器,运行游戏发现没有生成武器 ,可以的话尽量使用MainMenu去进入游戏去测试我们背包里的每一个功能,确保它们没问题

现在做一个方法够关闭背包和Stats,先实现这个CloseButton按钮,

 这样就可以关闭背包和Stats了,那么如何再次打开呢,我们要在按键上做一个设置:

InventoryManager:

    [Header("UI Panel")]
    public GameObject bagPanel;
    public GameObject statsPanel;
    bool isOpen = false;//背包是否打开

    private void Update()
    {
        if(Input.GetKeyDown(KeyCode.B))//按下B键显示背包
        {
            isOpen = !isOpen;
            bagPanel.SetActive(isOpen);
            statsPanel.SetActive(isOpen);
        }
    }

 

 这样就实现了打开和关闭背包了

接下来我们要完成的就是Action Bar了,我们要Action Bar上面的每一个按键来添加匹配的键盘的按键,所以单独创建一个代码ActionButton,挂载到ActionButton预制体上,

 ActionButton:

public class ActionButton : MonoBehaviour
{
    public KeyCode actionKey;
}

  设置按键1-6,

 ActionButton:

public class ActionButton : MonoBehaviour
{
    public KeyCode actionKey;

    private SlotHolder currentSlotHolder;

    private void Awake()
    {
        currentSlotHolder = GetComponent<SlotHolder>();
    }
    private void Update()
    {
        if(Input.GetKeyDown(actionKey) && currentSlotHolder.itemUI.GetItem())//按下匹配按键且格子里有物品
        {
            currentSlotHolder.UseItem();//使用物品
        }
    }
}

现在就可以使用快捷栏按键和双击使用物品了

但是如果双击空格子,会出现报错,解决:

 SlotHolder:在使用物品方法中做一个非空的判断

    public void UseItem()//使用物品
    {
        if (itemUI.GetItem() != null)
        {
            if (itemUI.GetItem().itemType == ItemType.Useable && itemUI.Bag.items[itemUI.Index].amount > 0)//是可使用物品且数量大于0 itemUI.Bag.items[itemUI.Index].ItemData.itemType
            {
                GameManager.Instance.playerStats.ApplyHealth(itemUI.GetItem().useableData.healthPoint);
                itemUI.Bag.items[itemUI.Index].amount -= 1;//使用后数量减1
            }
        }
        UpdateItem();//更新物品
    }

这样就不会报错了

现在就实现了打开和关闭背包和人物的窗口,还有用快捷键来操作实现物品了

2.Stats Info 显示 Player 相关信息

我们来实现一下我们的信息面板,希望能显示Player的基本模型,并且可以在下面Update它的一些数据,

新建RawImage

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity3D RPG游戏框架是一种用于开发角色扮演游戏的一套工具和框架。它提供了一系列功能和组件,使开发者能够快速建立一个具有角色控制、任务系统、战斗系统等功能的游戏。 首先,Unity3D RPG游戏框架提供了强大的角色控制功能。开发者可以轻松地创建角色,并对其进行动画、物理和碰撞等控制。框架还提供了角色属性和状态管理的机制,使开发者能够定义和管理角色的生命值、能力值和状态等。 其次,Unity3D RPG游戏框架支持任务系统的开发。开发者可以创建各种类型的任务,如主线任务、支线任务和日常任务等,并为每个任务定义任务目标、奖励和任务进度等。框架还提供了任务的触发和完成的事件回调,使开发者能够灵活地控制任务的逻辑和流程。 此外,Unity3D RPG游戏框架还包括战斗系统的实现。开发者可以创建各种类型的敌人和怪物,并为其定义属性、技能和行为等。框架提供了各种战斗机制,如近战攻击、远程攻击和技能释放等。同时,框架还支持战斗AI的设计和开发,使敌人和怪物能够智能地进行战斗。 此外,Unity3D RPG游戏框架还提供了一些额外的功能和工具,如用户界面、物品系统和声音管理等。开发者可以使用这些功能来增强游戏的可玩性和趣味性。 总之,Unity3D RPG游戏框架是一个功能强大的工具和框架,它能够帮助开发者快速建立一个完整的RPG游戏。无论是开发者的经验水平还是游戏的规模,都可以借助这个框架来实现自己的创意和想法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值