Hey! Alors voila j’ai des soucis, jusque là j’avais des moyens alternatifs mais là…
J’ai donc une variable qui augmente très vite de 0 à 100 en 1sec +/-
et je veux jouer un son, à déclancher une fois quand la variable atteint 41 par exemple. Or je n’y arrive pas, car GD actualise la variable de 40.974 à 41.152 par exemple donc ça ne tombe jamais sur 41 pile, comment y remedier? Ou alors comment faire un intervalle pour que le son se débloque de [40;41] ? Merci
si je ne dit pas de bêtise il y a le moyen d’arrondir un valeur, regarde dans l’éditeur d’expression dans la section “Outils mathématiques” tu trouvera entre autre Ceil(x) ou Floor(x) je crois qu’il y en a d’autre
GDevelop n’est pas imprécis. C’est juste que l’on ne peut pas déterminer tous les nombres par lesquels passent les variables (vu que le jeu tourne à 60 fps, ta variable sera précise au TA_VALEUR_D_INCREMENTATION / 60). Finalement, ce sont les ordinateurs qui sont imprécis.
Pour ton problème, le mieux est de testé si la variable est > 40 et d’ajouter un “Déclencher une fois”.
Et si ça passe directement de 39 à 41 ?
Ouaip mais le pb, c’est que je veux quand la variable est = à 40 puis 80 puis… pour ça que je demandais du coup si un intervalle est possible ^^
On peut arrondir une valeur de pitch d’un son?
Si la variable est > 40 , déclencher le son 1 fois.
Si la variable est > 80 , déclencher le son 1 fois.
et ainsi de suite…
Sinon, pour l’intervalle, tu peux mettre le “40” dans une variable et le multiplier au besoin.
Ça ne marchera pas psk si on déclanche à <40 et <80 beh le <40 est compris dans le <80
var >= 40 + déclencher une fois = jouer le son
var>=80 + déclencher un fois = jouer le son
var<=80 + var>40 + déclencher une fois = jouer le son
var<=40 + déclencher un fois = jouer le son
Ça me semble bon
Essaye en faisant une condition pour <40 et une autre condition pour <80
C’est à dire ?
Psk <40 est compris dans <80 et donc si on fait un déclanchement unique, ça le fait juste au <40 et pas au <80
Fait une condition “declencher une seule fois” pour le <40
Et une autre “declencher une seule fois” pour le <80
même si le 80 es compris dans le <40 il ne se declenchera qu’une fois car tu demande “declencher une seule fois”
Essaye sur le logiciel tu verra que ça devrais fonctionner.
C’est ce que j’avais fait à la base ^^ ça ne marche pas Pour ça que j’ai posté ce post ^^
Lernox a raison, si on fait <40+déclencher une fois et <80+ déclencher une fois, il n’y aura qu’un son car quand la valeur vaudra 20 par exemple, le son sera joué pour l’évènement à 40 et pour celui a 80 vu que ces valeurs sont supérieures à 20. Je pense que vous avez tous fait une faute de frappe, ce n’est pas <40 mais >40 pour que le son se déclenche quand la valeur dépasse 40. Ainsi, si on met >40 et >80 avec des déclencher une fois, il n’y aura pas de risque et ça va marcher puisque la valeur deviendra progressivement supérieure à 40 (=premier son), puis plus tard à 80 (=deuxième son).
Teste avec des > et ça fonctionnera. Même si personnellement je n’aurais pas fait comme ça.
Comment aurais-tu fais du coup? ^^
Sinon, tu ajoutes une petite variable de “verrouillage”.
- Au lancement de la scène, faire variable “verrouillage = 0”
- Lorsque tu dépasses 40 et que variable verrouillage = 0 : jouer le son 1 fois + faire variable “verrouillage = 1”
- Lorsque tu dépasses 80 et que variable verrouillage = 1 : jouer le son 1 fois + faire variable “verrouillage = 2”
- Lorsque tout est fini, faire variable “verrouillage = 0”
Tiens nous au courant