problème avec Destroy(GameObject)
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Re: problème avec Destroy(GameObject)
Tu as mis un Debug.Log à l'intérieur de la condition ? Il affiche son texte ?
- boubouk50
- ModoGenereux
- Messages : 6220
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: problème avec Destroy(GameObject)
Tout simplement parce que la condition n'est pas remplie.Kaloverian a écrit : ↑13 Nov 2021 20:36Pourquoi,d'après ce cript,l'objet kaka n'est-il pas détruit grâce à la condition?Code : Tout sélectionner
using System.Collections; using System.Collections.Generic; using UnityEngine; public class essai1 : MonoBehaviour { public GameObject koko,kaka; public float moveSpeed,A; float dist; // Start is called before the first frame update void Start() { dist=Vector3.Distance(koko.transform.position,kaka.transform.position); } // Update is called once per frame void Update() { if(dist>A) { Destroy(kaka); } koko.transform.Translate (Vector3.up* moveSpeed * Time.deltaTime); } }
Tu calcules la distance une seule fois au Start(), donc sa valeur est fixe. Si A est fixe aussi, et que dist <= A au départ, alors la condition ne sera jamais remplie.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
- Kaloverian
- Messages : 345
- Inscription : 10 Août 2016 03:03
Re: problème avec Destroy(GameObject)
code corrigé:
CEci étant,bien que j'ai mis en place les 3 scripts proposés par jmhoubre,le rebondissement aléatoire à l'intérieur d'une sphère virtuelle ne fonctionne pas chez moi.
A noter que je n'utilise pas Vector3.Reflect pour éviter que l'angle de rebond soit égal à l'angle incident
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class essai1 : MonoBehaviour
{
public GameObject koko,kaka,emptyO,emptyA;
public float moveSpeed,A;
float dist;
// Start is called before the first frame update
void Start()
{ emptyO.transform.position=koko.transform.position;
emptyA.transform.position=kaka.transform.position;
koko.transform.parent=emptyO.transform;
kaka.transform.parent=emptyA.transform;
}
// Update is called once per frame
void Update()
{
dist=Vector3.Distance(emptyO.transform.position,emptyA.transform.position);
if(dist>A)
{
Destroy(kaka);
}
emptyO.transform.Translate (Vector3.up* moveSpeed * Time.deltaTime);
}
}
A noter que je n'utilise pas Vector3.Reflect pour éviter que l'angle de rebond soit égal à l'angle incident