RPG游戏完整指南

环境:unity2021+urp

        本教程教大家如何使用Unity创建一个RPG游戏,玩家可以在城镇场景中进行导航并寻找战斗,并在战斗中遇到不同类型的敌人。玩家可以向敌人施加不同的动作,如:常规攻击和撤离。这会是一个十分有趣的体验。

学习目标:角色寻路、相机跟随、熟悉战斗系统(如:状态机、追随、攻击效果等)

游戏画面

项目结构目录

部分核心代码

public class GameManager : Singleton<GameManager>
{
    public CharacterStats playerStats;

    //private CinemachineFreeLook followCamera;

    private CinemachineVirtualCamera virtualCamera;

    List<IEndGameObserver> endGameObservers = new List<IEndGameObserver>();

    protected override void Awake()
    {
        base.Awake();
        DontDestroyOnLoad(this);
    }
    public void RigisterPlayer(CharacterStats player)
    {
        playerStats = player;

        //followCamera = FindObjectOfType<CinemachineFreeLook>();

        //if (followCamera != null)
        //{
        //    followCamera.Follow = playerStats.transform.GetChild(2);
        //    followCamera.LookAt = playerStats.transform.GetChild(2);
        //}

        virtualCamera = FindAnyObjectByType<CinemachineVirtualCamera>();
        if(virtualCamera != null)
        {
            virtualCamera.Follow = playerStats.transform.GetChild(2);
            virtualCamera.LookAt = playerStats.transform.GetChild(2);
        }
    }

    public void AddObserver(IEndGameObserver observer)
    {
        endGameObservers.Add(observer);
    }

    public void RemoveObserver(IEndGameObserver observer)
    {
        endGameObservers.Remove(observer);
    }

    public void NotifyObservers()
    {
        foreach (var observer in endGameObservers)
        {
            observer.EndNotify();
        }
    }

    public Transform GetEntrance()
    {
        foreach (var item in FindObjectsOfType<TransitionDestination>())
        {
            if (item.destinationTag == TransitionDestination.DestinationTag.ENTER)
                return item.transform;
        }
        return null;
    }
}

下载链接:RPGCourseDemo: unity官方案例,RPGDemo

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 13:32:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 13:32:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 13:32:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 13:32:03       18 阅读

热门阅读

  1. Web前端经验汇总:深入探索与实战心得

    2024-06-16 13:32:03       6 阅读
  2. 我理解的中台架构

    2024-06-16 13:32:03       7 阅读
  3. gitlab问题记录

    2024-06-16 13:32:03       5 阅读
  4. C# —— 条件分支语句

    2024-06-16 13:32:03       8 阅读
  5. 洛谷题解 - P1036 [NOIP2002 普及组] 选数

    2024-06-16 13:32:03       7 阅读
  6. 深度神经网络

    2024-06-16 13:32:03       5 阅读