Jump to content
Unity Insider Forum

Unterschiedliche Rechner, unterschiedliches Resultat ...


Keinstein

Recommended Posts

Hallo erstmal, ja ich bin der neue.

 

Ich werkle erst seit kurzem aktiv mit Unity und bastle aktuell an einem Rogue ähnlichem Spiel.

 

Aktuell kann man nur rumlaufen, Holzhacken und Steine abbauen sowie craften.

Nun ist die Sache die, wenn ich einen Build mache (Windows standalone), funktioniert bei mir alles Prima, beim Rechner meiner Freundin allederdings gibt es probleme mit dem Rohstoffabbau.

Sie kann nur 1-2 mal was abbauen dannach passiert einfach nichts mehr wenn sie die entsprechende Taste drückt(Fire1/ctrl). Sie kann aber weiterhien in der Gegend rumlaufen.

Aktuell habe ich es so geregelt dass der skript des Charackter mit jenem des Rohstoffs via .gameobject.SendMessage() kommuniziert.

Der charackter schickt eine Nachricht welche den Rohstoff auffordert zu prüfen wieviel holz/stein noch vorhanden ist und führt eine Methode aus welche dann den Rohstoff reduziert.

Dieser schickt dann eine Nachricht an den Spieler mit der Information ob noch Rohstoffe da sind, dieser fürht dann eine Methode aus welche Rohstoff zum Inventar hienzufügt.

 

So, ja ich weiss, vermutlich sind meine Infos dazu eher dürftig, ich hoffe aber dass mir jemand folgen kann und bestenfalls einen Lösungsansatz findet.

 

Kleine Info zu meinen Fähigkeiten, die sind eher unproffesionel wie ich fürchte, zumal ich mir alles slber beigebracht habe, Tutorials, Bücher usw.

Vor Unity hab ich mit Flash sowie Java und wenig C# gewerkelt.

 

Vielen dank schonmal für euere Mühe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Infos sind wirklich zu dürftig um da sinnvoll helfen zu können. Mal ins Blaue. Ich hatte da mal Probleme mit Eingaben in FixedUpdate. Die sollten in Update liegen. Vielleicht hast du da ja was ähnliches.

 

Ansonsten bleibt dir nichts anderes übrig als mal das Ding auf einen Testcase zu reduzieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Den Verdacht mit Time hatte ich erst auch, darum hab ich sämtliche Timer entfernt und alles per sofort abgewickelt. Was Update anbelangt... Ich hab alles in : void onTriggerStay2D() abgewickelt, dort drinn wird also auch der input überprüft, kann es daran liegen ?

Werde es jedenfalls morgen anpassen.

 

Vielen dank schonmal für die prompte Hilfe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab alles in : void onTriggerStay2D() abgewickelt, dort drinn wird also auch der input überprüft, kann es daran liegen ?

 

Ja :)

 

Trigger sind Physikbasiert. Physik wird aber nicht jeden Frame aufgerufen. Deswegen Inputsachen wie gesagt in Update packen. Wenn Input nur funktionieren soll wenn da was überlappt kannst du das ja mit einer Boolean regeln.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wobei Input.GetButton und .GetKey ja eigentlich geht. Ist nur unschön, dann GetButtonDown usw. dann woander hinpacken zu müssen...

 

wieso klappt es bei mir auf meinem Rechner und auf einem anderen zickt es ?

Unterschiedliche Hard- und Software sorgt für unterschiedliche Framerates und wenn man das beim Coden nicht kompensiert, kommt genau das dabei raus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab den Code schonmal angepasst, Input wird nun via update() empfangen, dies schalltet ne bool auf true, wenn gleichzeitig ein trigger erkannt wird, wird die abbaufunktion ausgeführt.

Nun muss nur Madamé das ganze noch bei sich testen, sobald sie Zeit dazu findet.

 

Ich werde mich dann nochmal melden, bis dahien nochmal vielen Dank, echt klasse wie ihr mit meinen spärlichen Infos so schnell einen Lösungsansatz anbieten konntet.

Und schöön zu sehen dass es im Netz nochimmer diese kleinen Orte gibt an denen man einfach Hilfe kriegt, ganz ohne erstmal 3 Seiten lang als noob bezeichnet zu werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zwischenbericht ! So, sie hat die Sache nochmal getestet und es läuft zumindest besser, aber noch nicht richtig. Schätze aber das ist nun der richtige Weg und werde das ganze weiter in die Richtung anpassen.

 

 

Update : Jetzt läuft alles wie es soll.

Also nochmal zur Wiederhohlung falls jemand das selbe Problem haben sollte :

Nichts inputabhängiges in eine onTrigger-Funktion packen sondern immer via Update() abfragen.

 

 

Vielen dank nochmal an alle die geholfen haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...