Étrangement sur tous les posts que j'ai vu la méthode fonctionne pourtant pour moi ça ne marche pas (la malédiction des collisions ?)
Voila j'ai un script de tir (merci à l'auteur en passant) qui marche j'ai donc ajouter le son sans problème, mais viens le moment de chercher à faire disparaître la(les) balles au moment d'un impact et là c'est le drame.
Ma Balle à bien un collider (box) et un rigibody, et la collision du collider fonctionne vu que la balle rebondie (qu'elle coquine x) ) sauf que je veux qu'elle soit détruite à l'impact.
Code cs nommé Tir:
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class Tir : MonoBehaviour {
public Transform bulletPrefab;
private float shootTimer = 0.5f;
private float shootTimerCurrent;
private float bulletSpeed = 1000f;
void Start() {
shootTimerCurrent = shootTimer;
}
void Update() {
}
void FixedUpdate () {
// Tir
Shoot();
}
private void Shoot() {
if (shootTimerCurrent <= 0) {
if (Input.GetButtonDown ("Fire1")) {
GetComponent<AudioSource>().Play();
Transform bulletTransform = Instantiate(bulletPrefab, transform.position, transform.rotation) as Transform;
bulletTransform.Rotate(180, 0, 0);
bulletTransform.GetComponent<Rigidbody>().AddForce(bulletTransform.forward * bulletSpeed);
shootTimerCurrent = shootTimer;
}
} else {
shootTimerCurrent -= Time.deltaTime;
}
}
void OnCollisionEnter(Collision Bullet){
Destroy(this.gameObject);
}
}