Pause zwischen den schüssen?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Wie schon jemand zuvor schrieb erstelle einfach 2 floats.

float delay = 1f;
float counter = 0f;

Jetzt zählst du den counter permanent hoch.

counter += Time.deltaTime;

Und anschließend checkst du einfach gegen ob der counter höher als der delay ist.

if(counter>= delay)

Dann instantiierst du den Schuss und setzt counter wieder auf 0;

counter = 0;

Sollte es eher eine Dauerfunktion sein wo automatisch geschossen wird, empfiehlt sich eher eine Co-Routine.

Woher ich das weiß:Berufserfahrung

Gamco 
Beitragsersteller
 06.08.2020, 18:34

Vielen Dank habe gestern erst begonnen und ist für mich noch etwas schwierig :)

0
OctoMan  06.08.2020, 18:39
@Gamco

Das ist vollkommen normal, jeder fängt mal klein an. Suche dir am besten Basic Tutorials und arbeite die Schritt für Schritt durch. Bücher helfen auch.

Nutze in jedem Fall auch die Unity Scripting Reference, da gibt es eine Menge Infos.

1

Wenn du Thread.Sleep() verwendest, schläft das gesamte Programm (bzw. der gesamte Thread) ein. Klar, dass es da zu "Framerateeinbrüchen" kommt - das Programm macht in dieser Zeit nichts.

Eine Lösung wäre eine globale Variable, z.B. "lastShotOn", zu definieren, und in dieser die Zeit / den Timestamp zu hinterlegen, wann das letzte Mal geschossen wurde. Wenn der Nutzer dann wieder schießen will, wird überprüft ob seit diesem Timestamp eine Sekunde vergangen ist. Falls ja, wird geschossen und der Timestamp neu gesetzt, falls nein, passiert eben nichts.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

Gamco 
Beitragsersteller
 06.08.2020, 18:21

Danke ich habe gedacht das es einfache ein wait ist 😂

0

Du könntest eine globale Variable x machen und in update() immer überprüfen, ob in der letzten Sekunde gefeuert wurde, indem du x auf wahr setzt, wenn du feuerst und auf falsch, wenn x die ganze letzte Sekunde in update() immer wahr war.

Allerdings gibt es für solche Zwecke doch sicherlich schon Fragen, oder?

Woher ich das weiß:Berufserfahrung – Programmierer

Gamco 
Beitragsersteller
 06.08.2020, 18:08

Wie würde das in einem Script aussehen?

Habe erst gestern mit Programmieren begonnen

0