Jump to content
Unity Insider Forum

Lokale Multiplayer-Lobby


Singular

Recommended Posts

Hey ich bin auch gerade beim Input-System und habe es jetzt auch soweit geschafft, dass ich meine Controler anschließen und über den "InputManager" per Join When Button is Pressed die Spieler erstellen lassen kann.

Schön und gut, allerdings möchte ich nicht, dass die Spieler erst Joinen, wenn ein Knopf gedrückt wird sondern ist das in meinem Spiel eine voreinstellung wieviele Spieler teil nehmen. Heißt ich stelle das natürlich um auf "Join Players Manualy". Wie weise ich denn nun Splieler 1 den ersten Controle und Spieler 2 den 2. Controler zu? Ich habe das Mapping ja nur einmal gemacht. Da ich ja auch nicht weiß welchen Controler ein Spieler anschließt würde es ja auch keinen Sinn machen zu sagen, dass Sp1 immer einen X-Box und Sp2 einen PS4 Controler verwendet... (Wobei,... 🤔🙃)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der PlayerInputManager ist eine Componente in Unity, die benötigt wird um die Spieler zu spawnen und ihnen den Controler zuzuweisen. Wie gesagt weiß ich allerdings nicht, wie ich ihm sagen kann, dass er mir den nächsten Controler suchen soll und diesen dann dem SpielerObject zuzuweisen.

Ich habe allerdings noch ein paar andere Probleme. Ich glaube, dass das System noch ein wenig mehr im Hintergrund macht und deswegen sind die eingaben leider etwas anders als gewünscht. Beispielsweise habe ich einen Button zugewiesen und ihm gesagt, dass er einen bool auf true setzt und wenn dieser Button wieder losgelassen wird, soll dieser bool wieder auf false gesetzt werden. (Also quasi das, was "Hold" ungefähr machen sollte) Das funktioniert auch ganz fein. Allerdings ist für die selbe Methode 2 Buttons zugewisen.

Sollte ich Knopf 1 drücken und halten und drücke dann Knopf 2 und lasse dann Knopf 2 wieder los und lasse dann Knopf 1 wieder los funktioniert alles wie erwartet und der bool steht auf false.
Also: K1 --> K2 --> K2 --> K1  Dann false (Weil kein Knopf mehr gedrückt ist. Also korrekt)

Bei: K1 --> K2 --> K1 --> K2 Dann true (Obwohl beide Knöpfe nicht mehr gedrückt werden)

Sollte ich so vorgegangen sein, dann kann ich auch nichts mehr machen um den bool zurück auf false zu setzen (zumindest nicht mit dem Controler)

Wenn Ihr Code dazu sehen wollt... Bitte:

OnShootON()
{
  shootIsOn = true;
}

OnShootOFF()
{
  shootIsOn = false; 
}

Wobei die beiden Mehtoden bei "pressed" bzw "realease" ausgeführt werden.

 

Nächstes Problem:

Jetzt möchte ich den nächsten Knopf einstellen und weise ihm den Default status bei Interactions zu, heißt er wird nur bei Press Only ausgeführt. Zumindest sollte er das. die Methode wird aber 2x ausgeführt. einmal beim Drücken und einmal beim Loslassen.
Weise ich ihm dann doch bei Interactions "Press Only" zu, dann wird die Methode (hier steckt KEIN bool hinter) nur einmal durchgeführt. Aber danach auch nie wieder. Auch wenn ich den Knopf nochmal drücke. Auch hier kann ich euch den Code schicken aber auch der macht gerade noch nicht wirklich was...

OnDash()
{
	Debug.Log("Dash used");
}

Kann es sein, dass das System, auch wenn es schon Version 1.0.2 (oder so ähnlich) ist, immernoch ziemlich buggy ist?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...