TopDown Engine中文文档 (八角色入场)

本文介绍了如何在游戏中将角色添加到场景中,包括通过LevelManager进行实例化,以及如何让角色在场景中预先存在并由LevelManager管理。此外,还详细说明了如何处理非玩家角色(NPC、AI)的放置,以及在多人游戏中处理多个玩家角色。最后,文章提供了通过脚本访问和控制玩家角色的示例代码。
摘要由CSDN通过智能技术生成

七.添加角色到场景中

1.介绍 

 一旦你创造了你的角色,你可能会想要玩它。有多种方法可以做到,这个页面解释了你可以添加角色的不同方式,无论他们是否可玩,到你的场景。

2.The Level Manager

LevelManager是TopDown Engine中的一个非常核心的类。它负责生成玩家,处理传送点以及场景中的入口点。它基本上定义了你的关卡的一个整体规则。它还将被用作整个引擎与玩家交流的主要方式。

建议由LevelManager负责生成你的角色。这意味着它在按下播放之前不会出现在场景中,并且将在运行时实例化。要让LevelManager知道应该实例化什么角色,请选择LevelManager的hierarchy面板,展开PlayerPrefabs数组,然后将项目视图中的角色拖放到“Element0”字段中

Jekyll

3.让你的角色出现在你的场景中

虽然上面的方法是推荐的方法,但您也可以让您的角色已经出现在场景中,并且仍然可以让LevelManager引用它。要实现这一点,您需要在场景中有一个角色对象,并将其拖到LevelManager的场景SceneCharacters数组中。

Jekyll

4.其他角色(ai、npc) 

对于其他那些并不是要由玩家控制的角色,这要容易得多,你只需要拖动他们的预制件在场景中的某个地方。

5. 多个玩家

在多人游戏中,你必须让你的MultiplayerLevelManager知道要实例化什么角色。这样做就像对单个角色一样:

Jekyll

6.Accessing the player character via script 

通过脚本访问玩家的最佳方式是通过LevelManager,因为它始终保持引用它(如果关卡中有多个可玩角色,则对它们进行引用)。从任何类中,您都可以通过以下方式访问玩家数组: 

LevelManager.Instance.Players

//Players is an array, so if you only have one playable character, you can access it via
LevelManager.Instance.Players[0]

// this will freeze your main character
LevelManager.Instance.Players[0].Freeze();

// sets the main character's max Health to 50
LevelManager.Instance.Players[0].gameObject.MMGetComponentNoAlloc<Health>().MaximumHealth = 50;

// forces the character to dash
LevelManager.Instance.Players[0].gameObject.MMGetComponentNoAlloc<CharacterDash>().StartDash();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值