Jump to content
Unity Insider Forum

Waffenmagazin erstellen


ShV

Recommended Posts

Ich konnte bereits mithilfe eines Spawners die Waffe erstellen. Jetzt möchte ich aber, dass man nachdem 3 Schüsse abgefeuert wurden, nicht mehr Schießen kann.

Das ist das bereits geschriebene Script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityStandardAssets.CrossPlatformInput;


public class Fight : MonoBehaviour
{
    public Transform Bulletspawn;
    Rigidbody2D clone;
    public Rigidbody2D bulletPrefap;
    public float bulletSpeed = 100f;
    public float magazin = 3;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (CrossPlatformInputManager.GetButtonDown("Peng"))
        {
            Debug.Log("Feuer frei");
            Attack();
        }
      
    }
    void Attack()
    {
        clone = Instantiate(bulletPrefap, Bulletspawn.position, Bulletspawn.rotation);
        clone.AddForce(Bulletspawn.transform.right * bulletSpeed);

    }

}

Wäre nett, wenn mir jemand sagen könnte, wie ich dass umsetzen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ShV Erstell dir eine Zählervariable die du ShotsFired nennst. Schreib deine Attackfunktion in einen If-Block der prüft, ob ShotsFired kleiner als maximaleMunition ist und erhöhe am Ende jeder Ausführung des Attack-Blocks die Variable ShotesFired um 1. Im Else-Teil returnst du einfach, sodass nichts passiert, sofern der Zähler gleich oder größer als die Anzahl der maximalen Munition ist. Wenn du dann z.B nachladen möchtest, könntest du eine neue Funktion schreiben, die den Zähler wieder auf 0 zurücksetzt.

 

private readonly int maximaleMunition = 3;
private int ShotsFired;

 void Attack()
    {
   		if(ShotesFired < maximaleMunition)
        {
       		 clone = Instantiate(bulletPrefap, Bulletspawn.position, Bulletspawn.rotation);
       	 	 clone.AddForce(Bulletspawn.transform.right * bulletSpeed);
             ShotsFired ++;
        }
   
   		else return;
    }

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...