[Résolu] [MY-AL] enlever les chiffres après virgule d'une distance

Pour les scripts écrits en C#
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
Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

[Résolu] [MY-AL] enlever les chiffres après virgule d'une distance

Message par freepl » 13 Déc 2020 15:21

Bonjour

J'ai un script qui mesure une distance entre 2 objets.

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using UnityEngine.UI; 

public class DistanceEntreCameraEtObjet : MonoBehaviour

    // calcul la distance entre 2 objets et l'affiche dans un bouton à l'écran

{
	public GameObject cible; // le panneau d'inforamtion
	public GameObject OrigineDLaDistance; // la caméra principale ou un objet


	// Use this for initialization
	void Start () {
		this.Update();
	}
	
	// Update is called once per frame
	void Update () {



		string debutText = "Distance: ";
		string finText = " m";
		float distanceReelle = Vector3.Distance(cible.transform.position,OrigineDLaDistance.transform.position); 
		this.GetComponentInChildren<Text>().text = debutText + distanceReelle.ToString() + finText;
	}
}
La valeur affichée est trop détaillée. Elle va au millimètre.
ScreenShot003.jpg
ScreenShot003.jpg (34.87 Kio) Consulté 1967 fois
Que modifier pour n'avoir que les mètres ?

Merci
Dernière édition par freepl le 13 Déc 2020 16:39, édité 1 fois.

Avatar de l’utilisateur
Max
Messages : 8765
Inscription : 30 Juil 2011 13:57
Contact :

Re: [MY-AL] enlever les chiffres après virgule d'une distance

Message par Max » 13 Déc 2020 15:59

Bonjour,

c'est un sujet qui a été souvent traité sur le forum.
Deux exemples:
viewtopic.php?t=11060
viewtopic.php?t=3761
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: [MY-AL] enlever les chiffres après virgule d'une distance

Message par freepl » 13 Déc 2020 16:03

Merci
Script modifié

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using UnityEngine.UI; 

public class DistanceEntreCameraEtObjet : MonoBehaviour

    // calcul la distance entre 2 objets et l'affiche dans un bouton à l'écran

{
	public GameObject cible; // le panneau d'inforamtion
	public GameObject OrigineDLaDistance; // la caméra principale ou un objet






	// Use this for initialization
	void Start () {
		this.Update();
	}



	void Update () {
		string debutText = "Distance: ";
		string finText = " m";
		float distanceReelle = Vector3.Distance(cible.transform.position,OrigineDLaDistance.transform.position); 
		distanceReelle=Mathf.Floor(distanceReelle * 1 + 0.5f) / 1; // 1 pour précisoin au metre, 10 pour 0.1m 100 pour 0.01m
		 
		this.GetComponentInChildren<Text>().text = debutText + distanceReelle.ToString() + finText;
	}

}

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: [Résolu] [MY-AL] enlever les chiffres après virgule d'une distance

Message par jmhoubre » 13 Déc 2020 18:19

A quoi sert

Code : Tout sélectionner

this.Update();
dans la fonction Start () ?

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: [Résolu] [MY-AL] enlever les chiffres après virgule d'une distance

Message par freepl » 14 Déc 2020 18:22

C'est une erreur.
Merci

Répondre

Revenir vers « (C#) CSharp »