Menu

Connexion



Retenir ?

Mot de passe oublié ?
Eclipso logo
Merry Christmas !
18/10/2019 20:19:34

OH MY DAYUM - daym drops

[Résolu][VXAce] Tronquer variable

Arkain

Amateur
Arkain
  • Messages : 69

[Résolu][VXAce] Tronquer variable


mer. 27 août 2014 - 21h27

BONSOIR !
Voilà longtemps que je suis pas passé sur ce forum, personne doit se souvenir de moi QQ (j'ai remporté le dernier concours Touhou Wandering Soul *-*)
MAIS BREF c'est pas pour pleurnicher que je reviens, mais je fais face à un problème MAJEUR !!

En gros :
J'utilise un script permettant de ne plus se déplacer case par case machin bon tout le monde connait ce genre de script.
Le souci, c'est que lorsque j'enregistre dans les variables les coordonnées x et y du héros, j'ai des nombres décimaux.

LA QUESTION oui parce que le reste pas besoin de lire
Est-ce qu'il est possible de tronquer ou éventuellement arrondir le résultat d'une variable décimale ?
(j'pense que oui parce que VX ACE est connu pour avoir le script pratique mais j'ai pas trouvé [sans avoir trop cherché aussi hem])


JE VOUS REMERCIE


lol

Ssozi

Expert
Ssozi
  • Messages : 1166

[Résolu][VXAce] Tronquer variable


mer. 27 août 2014 - 21h42

Est-ce que tu pourrais nous filer le script que tu utilises ?



Arkain

Amateur
Arkain
  • Messages : 69

[Résolu][VXAce] Tronquer variable


mer. 27 août 2014 - 21h52

Voui voui

je l'ai trouvé ici : http://area91.multiverseworks.com/blog/rmvxa_script/gameplay/free_movement


le script est au bas de la page


EDIT : il a peut être précisé comment s'y prendre dans ce cas, mais j'avoue j'ai eu un peu la flemme de me concentrer pour comprendre l'anglais hem


lol

Ssozi

Expert
Ssozi
  • Messages : 1166

[Résolu][VXAce] Tronquer variable


mer. 27 août 2014 - 23h23

Tiens, normalement c'est bon :
Script



Arkain

Amateur
Arkain
  • Messages : 69

[Résolu][VXAce] Tronquer variable


jeu. 28 août 2014 - 00h08

De cette façon, ça marche !

A la base au cas où l'utilisation des coordonnées précises pourraient être utiles, je me demandais s'il était pas possible d'effectuer cette opération sur la variable depuis le menu de modification de variable via script, mais bon au final je pense pas me servir d'une aussi grosse précision donc bon.

Merci Biward pour cette réponse fulgurante et efficace.


lol

Joke

Amateur
Joke
  • Messages : 77

[Résolu][VXAce] Tronquer variable


jeu. 28 août 2014 - 14h16

il suffit de faire ".to_i" pour transformer en entier (integer)
avec .to_f pour transformer en décimale (float) et .to_s pour transformer en chaîne de caractère (string)

exemple :

x = 1.234
x.to_i renverra "1"


Ssozi

Expert
Ssozi
  • Messages : 1166

[Résolu][VXAce] Tronquer variable


jeu. 28 août 2014 - 17h51

Ouais, mais :

x = 1.99
p x.to_i # affiche 1, et pas 2.

Et il a demandé un arrondi, pas la valeur entière d'un nombre. Du coup ça passe par une petite condition en fonction de la partie flotante. Mon ptit patch permet seulement de faire le calcul automatiquement.

C'est bien sûr faisable en event. D'ailleurs, si tu veux vraiment avoir la possibilité de pouvoir récupérer soit la position exacte soit la position arrondie, je te conseille de supprimer mon patch et de faire ceci :

Spoiler


Et dans tes events tu appelles cet event commun et hop, tu as ta position arrondie.



Prof.G

Disciple
Prof.G
  • Messages : 227

[Résolu][VXAce] Tronquer variable


ven. 29 août 2014 - 10h17

Théoriquement, tronquer et arrondir c'est différent. Tronquer c'est carrément supprimer les chiffres qui ne t'intéresses pas. Donc Joke a bien raison.


Cherche citation super classe à coller ici.

Arkain

Amateur
Arkain
  • Messages : 69

[Résolu][VXAce] Tronquer variable


ven. 29 août 2014 - 11h09

En fait je demandais tronquer ou éventuellement arrondir, mais
HELL YEAH
Tout est bon à prendre merci


lol

Ssozi

Expert
Ssozi
  • Messages : 1166

[Résolu][VXAce] Tronquer variable


ven. 29 août 2014 - 14h32

Citation de Prof.G :
Théoriquement, tronquer et arrondir c'est différent. Tronquer c'est carrément supprimer les chiffres qui ne t'intéresses pas. Donc Joke a bien raison.

Ouais, sauf si t'as pas lu le topic où il dit qu'il aimerait tronquer ou éventuellement arrondir. Et je suis désolée, mais pour moi, un perso qui est à la position 1.99 n'est pas sur la case 1 mais sur la case 2.
Et je vois surtout pas l'intérêt d'en rajouter une couche, surtout si Arkain dit que ça lui va et que son problème est résolu.



Prof.G

Disciple
Prof.G
  • Messages : 227

[Résolu][VXAce] Tronquer variable


ven. 29 août 2014 - 15h12

Oui bien sûr. Grâce à toi et à Joke, Arkain peut maintenant arrondir ou tronquer selon son envie, c'est l'essentiel !
J'ai fais cette remarque car en tant que futur prof de maths je voulais éviter la confusion troncature/arrondi.


Cherche citation super classe à coller ici.

Joke

Amateur
Joke
  • Messages : 77

[Résolu][VXAce] Tronquer variable


sam. 30 août 2014 - 16h52

Ok, j'ai cru qu'il voulait simplement tronquer...

Donc pour arrondir à l'entier le plus proche, c'est .round :

x = 2.83

p x.round # affiche 3
p x.to_i # affiche 2


Arrondir à l'entier supérieur c'est ".ceil"
Arrondir à l'entier inférieur c'est ".floor"
Tronquer c'est ".truncate"

Mais il semblerait que .floor, .truncate et .to_i fassent la même chose, pour le coup...

Jetez un coup d’œil dans la doc de RM, des fois. ^^


Ssozi

Expert
Ssozi
  • Messages : 1166

[Résolu][VXAce] Tronquer variable


dim. 31 août 2014 - 01h42

Comment je savais pas ça Mais il y a toujours pas de méthode existante pour faire un arrondi à l'unité la plus proche..



KuroFidy

Grand Maître
KuroFidy
  • Messages : 3782

[Résolu][VXAce] Tronquer variable


dim. 31 août 2014 - 10h50

Stop lire les messages à 1h42 du mat Ssozi, il l'a dit dans sa deuxième phrase, c'est .round

Ssozi

Expert
Ssozi
  • Messages : 1166

[Résolu][VXAce] Tronquer variable


dim. 31 août 2014 - 16h24

La fatigue ça arrive D: Du coup, je dois me corriger un peu partout lolol