【问题标题】:Create a Character Selector创建一个字符选择器
【发布时间】:2022-07-20 17:17:09
【问题描述】:

在我的本地多人游戏中,我希望玩家在一些角色之间进行选择。目前,第一个玩家获得第一个角色,第二个玩家获得第二个角色。我想我必须将索引分配给玩家,但如何?

public class PlayerInputHandler : MonoBehaviour
{
    Player player;


    [SerializeField] List<GameObject> prefrabs = new List<GameObject>();

    private void Start()
    {
        var playerIndex = GetComponent<PlayerInput>().playerIndex;
        player = GameObject.Instantiate(prefrabs[playerIndex], transform.position, transform.rotation).GetComponent<Player>();
    }

【问题讨论】:

  • 第二个玩家在哪里?
  • 我不确定您是否是这个意思,但我有一个 PlayerInputManager,当您按下控制器上的按钮时,它会实例化预制件“播放器”。这个“播放器”上面有这个脚本。因此,当第一个玩家按下按钮时,“玩家”会实例化列表中的第一个角色,而当第二个玩家按下另一个控制器上的按钮时,它会实例化列表中的第二个角色。希望你能理解

标签: c# unity3d


【解决方案1】:

如果你想让玩家选择他们的角色,

public List<GameObject> characterList;
public int _selectedCharacterIndex = 0;
private Player _player;

private void Start()
{
   SelectCharacter(_selectedCharacterIndex);
}

private void SelectCharacter(int index)
{
  _player = Instantiate(characterList[index], transform.position, 
  transform.rotation).GetComponent<Player>();
}

这样你就会把你从玩家那里收到的角色值给玩家了,希望能帮到你,我把代码编辑了一下,不忘,祝你好运

【讨论】:

    猜你喜欢
    • 2016-04-18
    • 1970-01-01
    • 2013-07-19
    • 2014-12-07
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    相关资源
    最近更新 更多