In diesem Verfahren wird beim Klicken auf den Feuerknopf ein Laserobjekt erstellt, das dann über den Bildschirm fliegt. Wenn es das Objekt trifft, spielt es einen Explosionston und löscht den Laser und der Bösewicht Objekt.AudioSource wird nicht abgespielt, bevor GameObject zerstört wird
Ich kann es nicht erreichen, um einen Explosionston zu spielen, aber es löscht die zwei Objekte und wirft keine Art von Fehler. Ich befestigte den Explosionssound an den Bösewicht und sagte, dass der Bösewicht AudioSource
spielt, bevor die Objekte zerstört werden.
using UnityEngine;
using System.Collections;
public class LaserFire : MonoBehaviour {
public float laserSpeed = 10f;
// Use this for initialization
void Start() {
//when the shot is fired, play the sound effect for a shot fired
GetComponent<AudioSource>().Play();
}
// Update is called once per frame
void Update() {
//moves the object across the screen over time
transform.Translate(0f, laserSpeed * Time.deltaTime, 0f);
}
void OnTriggerEnter2D(Collider2D hitObject)
{
//if the laser hits a bad guy, play the audio clip attached to the bad guy
hitObject.GetComponent<AudioSource>().Play();
Destroy(hitObject.gameObject);
Destroy(gameObject);
}
}
Hallo, hast du jemals dein Problem gelöst? Falls nicht, aktualisieren Sie Ihre Frage, um anzugeben, wie die vorhandenen Antworten Ihre Frage nicht erfolgreich beantwortet haben. Vielen Dank! – Serlite