ShV Geschrieben 4. August 2020 Melden Share Geschrieben 4. August 2020 Ich habe ein Skript geschrieben, welches Kugeln spawnt und diese nach vorne schießen soll: public class Waffe : MonoBehaviour { public Transform Bulletspawn; Rigidbody clone; public Rigidbody bulletPrefap; public float bulletSpeed = 100f; private readonly int maximaleMunition = 60; public int ShotsFired = 0; // Start is called before the first frame update private void Update() { if (Input.GetKeyDown("p")) { Schießen(); } if (Input.GetKeyDown("r")) { Nachladen(); } } public void Schießen() { if (ShotsFired < maximaleMunition) { clone = Instantiate(bulletPrefap, Bulletspawn.position, Bulletspawn.rotation); clone.AddForce(Bulletspawn.transform.forward * bulletSpeed); ShotsFired++; } } public void Nachladen() { ShotsFired = 0; } } Die Kugeln werden aber nur inaktiv geklont. Was muss ich machen, damit das funktioniert, was ich oben geschrieben habe? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. August 2020 Melden Share Geschrieben 5. August 2020 Wenn deine Objekte direkt nach Instantiate inaktiv sind, dann fallen mir dafür nur zwei mögliche Gründe ein: Dein Prefab ist inaktiv, dann ist auch die Instanz davon erstmal inaktiv. Wenn du keinen Grund für das inaktive Prefab hast, aktiviere es, ansonsten musst du halt nach dem Spawnen jede Instanz einzeln aktivieren. Wenn du nicht vom GameObject redest, sondern von einer Script-Komponente auf deinem GameObject, dann kann diese deaktiviert werden, wenn darin eine unbehandelte Exception fliegt. Müsstest du in der Konsole sehen und dann beheben. Alternativ kann natürlich irgendein Code von dir Dinge deaktivieren, aber nicht der, den du gepostet hast. 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.