[MY] Calculer un arrondi d'une fraction infinie (1/3) avec Javascript

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Litorax
Messages : 67
Inscription : 07 Juin 2017 14:59

[MY] Calculer un arrondi d'une fraction infinie (1/3) avec Javascript

Message par Litorax » 23 Jan 2018 11:34

Hello, je cherche une solution tout bête depuis une heure, rien trouvé sur le net ^^ Je cherche à calculer de combien je dois augmenter l'orthographicSize de ma caméra dans une boucle pour que le zoom se termine en même temps que le mouvement. Par exemple, quand la distance est de 6, vu que j'avance de 0.1 par frame, il faut que mon OrthographicSize passe de 13 à 5 donc diminue de (13-5)/6*10 par frame. Jusque là je me suis bien débrouillé, et ça marche ! Enfin... en théorie... Parce que 8 / 60 = 1.333333333333... Donc si je remplace 8 / 60 par un arrondi (1.333) ça fonctionne et le décalage est invisible à l'oeil nu, mais vu que la distance va changer, je ne peux pas mettre moi même 1.333... Or j'ai fait plein de tests, et 1/3, pour Unity, c'est 0. J'ai essayé (Mathf.Round((1000000*(1/3))))/1000000 mais j'obtiens toujours 0... Alors comment utiliser les nombres décimaux indéfinis ? Merci de votre aide !
Pourquoi essayer de comprendre si on ne sait pas ce que l'on cherche ?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [MY] Calculer un arrondi d'une fraction infinie (1/3) avec Javascript

Message par boubouk50 » 23 Jan 2018 13:13

Il faut simplement faire une fraction avec des floats et pas des entiers.
Une division d'entiers te donne un entier: donc 1/3 = 0.3333 = 0 -> entier.
Une division de nombres décimaux te donne un nombre décimal: donc 1f/3f = 0.3333f.

Essaie de ne pas travailler avec des nombres fixes, mais de toujours garder un calcul paramétrable.
"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

Répondre

Revenir vers « Scripting »