【问题标题】:Unity, character selection screen on same PC by two playersUnity,两个玩家在同一台PC上的角色选择屏幕
【发布时间】:2018-11-20 16:22:42
【问题描述】:

我正在尝试制作的游戏包括在同一台 PC 上玩的本地多人游戏。我已经通过使输入管理器和游戏中的不同控制器完美地工作来完成。

但现在我必须在同一台 PC 上为多个玩家创建角色选择屏幕。我现在是团结和学习的初学者。所以我不知道如何实现它。因为当我试图使其统一 UI 无法接受两个输入时。一次

我也看过一些人们建议制作自己的事件系统和按钮的线程,但我尝试这样做,按钮没有做出任何响应,它们不可点击。如果有人看过这些线程并且该方法对他们有用,请告诉我如何使其工作

或者如果有人有任何其他想法,请告诉我

提前致谢

【问题讨论】:

  • 您能否提供当前尝试的代码或屏幕截图?
  • 您能否详细说明“unity UI 无法同时接受两个输入”:)?

标签: user-interface unity3d multiplayer


【解决方案1】:

据我所知,同一场景中不能有多个事件系统。 所以知道我会建议改变...对你的游戏的看法,以下是可行的:

在同一个 UI 上不能有多个输入,但可以区分“键盘”输入。所以让我们猜测一下你将屏幕分为两部分的场景,其中左侧是玩家 1 选择角色,可以在 2 个角色之间进行选择,右侧是玩家 2 选择角色,数字相同(或不同,如你所愿!)可能的字符。

伪代码类似于:

private Player m_player1;
private Player m_player2;

private CharacterSelection m_CharacterSelection_Player1;
private CharacterSelection m_CharacterSelection_Player2;

If (m_Player1.Input.GetKeyDown(KeyCode.A))
{
  m_CharacterSelection_Player1.Left();
}
else if(m_Player1.Input.GetKeyDown(KeyCode.D)){
  m_CharacterSelection_Player1.Right();
}

If (m_Player2.Input.GetKeyDown(KeyCode.LeftArrow))
{
  m_CharacterSelection_Player2.Left();
}
else if(m_Player1.Input.GetKeyDown(KeyCode.RightArrow)){
  m_CharacterSelection_Player2.Right();
}

以下是我想要告诉您的内容的视觉表示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多