"Pour Chaque"... et chronomètres

Hep !

J’ai un souci avec un truc : l’utilisation d’une boucle “Pour chaque” et d’un chronometre en sous événement, en gros et c’est logique, le chronomètre ayant un nom similaire, peu importe le nombre d’objets c’est un seul et même chrono qui les impacte…

J’ai bien essayé de bidouiller avec des noms de variables dans la durée chrono ou de jouer avec un chrono différent (en timedelta…) mais niet… Toutes les objets ré-exécutent la même action en meme temps(sachant que le chrono correspond à une cadence de tir que je veux différente pour chaque objet).

Une piste ?

Up ! (au cas où… Comme une bouteille à la mer !

CECI N’EST PAS UN SPAM :

Up !

Je suis vraiment très très beaucoup demandeur d’idée pour palier à ce problème ! :blush:

Tu peux utiliser des variables d’objet pour simuler un “chrono objet”. Il faut juste que tu rajoutes un autre événement (qui s’exécute toujours), où tu fais +TimeDelta() (/!\ pas = , il faut mettre +).

Je dois m’emmeler les pinceaux là dessus, parce que j’utilise deja pratiquement que des timedelta, et malgré ça mes canons sont tous “synchronisés” en termes de cadence de tir, même en faisant random sur le seuil de remise à 0 de la variable d’objet, rien n’y fait…

L’autre souci que je me pose sur les (chronos) timedelta, c’est rapport à l’échelle du temps : quand je change l’échelle du temps est-ce qu’ils sont impactés de la même manière que les chronomètres standards ? (j’entends par là qu’idéalement je souhaiterais une linéarité parfaite de l’évolution des valeurs chronométrées avec l’échelle du temps).

Je ne sais plus si TimeDelta() est impacté directement. Sinon, il y a une expression pour récupérer l’échelle de temps, auquel cas il suffit de multiplier TimeDelta() par l’échelle du temps.

Tu peux poster tes événements ?

TimeDelta() est impacté par l’échelle du temps. :slight_smile:

Ok merci je vais ré-essayer, mais malgré le time delta et des “random” sur les seuil de cadence de tir, c’est quand meme sacrément synchro…

Attention, si tu mets Random(…) en condition, il va changer a chaque execution de la condition, donc à chaque frames. Il faut plutot mettre Random dans une variable d’objet au début (et apres chaque tir) et tester par rapport à cette variable.

Exact, car si tu fais des tests 60 fois par seconde sur un Random, le Random va changer de valeur à chaque fois et forcément prendre la plus petite valeure à un moment. Conclusion : rien d’aléatoire.

Bon j’ai re-creusé cette option, et du coup j’ai bien des tirs désynchronisés pour chaque canon, en revanche, ça me provoque un autre bug (qui m’avait fait déjà abandonner les TimeDelta()) :

en gros avant chaque tir mes projectiles se voient attribuer (en variable d’objets) une cible_X et une cible_Y, qui un Random de la largeur de la hauteur de leur cible : dans la boucle “Pour chaque” telle qu’elle écrite il est impossible à mon sens que l’attribution de “coordonnées” pour la cible soient zappées… et pourtant, il m’attribue à presque un tir sur 10 les coordonnées 0;0, donc des tirs perdus à l’autre bout de la scène !

Je comprends pas…

EDIT : j’ai bien essayé de déplacer la remise à 0 du “chrono” fait en timedelta mais c’est comme si une fois de temps en temps il zappait les sous évent sensés se “déclencher une seule fois” où j’attribue les coordonnées de la cible du projectile (ainsi qu’un autre paramètre pour qu’on sache à “qui” appartient le projectile). Voir la pièce jointe vous aurez tout le code de mon “Canon” (sauf la gestion des dégats), j’ai flouté certaine zone car j’y écris des insanités quand je décris des bugs :stuck_out_tongue: