Je suis entrain de faire le début d'un jeu de slot machine pour le fun en JavaScript pure.
Pour le moment, J'arrive a affiché les 3 roulettes et faire changer les images grâce a 2 boucle FOR imbriqué.
Première boucle pour avoir accès au 3 roulettes et deuxièmes boucle pour avoir accès au données dans mes tableaux.
Ce que je veux faire et que j'arrives pas a fairec'est ==> je veux qu'a chaque changement d'images, une après l'autres, il y aille un délai par exemple de 1 secondes. Je veux que l<on voie les changement visuelle des changement d images, une certaine fluidité.
J'ai fait mes recherches et je sais que la fonction: setTimeout existe mais je n'arrives pas a appliqué cela au bon endroit dans mon code. Si je le mets dans mon for cela appelle la fonction a chaque fois et cela fonctionne pas
Es ce que vous pouvez m'aider de trouver la meilleur méthode pour résoudre ce petit problème de débutant pour que je puisses apprendre de cela.
Vous pouvez aussi me donne des changement dans mon code pour la solution mais s.v.p pas de Jquery pour le moment . merci :-)
Au passage il pourrait être intéressant de rajouter ce code quelque part dans ton code et d'executer la fonction au chargement de la page.
Il permet de charger les images avant de les afficher dans la page, comme ça la transition sera automatique.
En locale le passage d'une image à une autre peut sembler immédiat mais sur un serveur ça ne serait pas le cas (sauf si l'image à déjà été chargée).
function chargerImagesRoulettes() {
Roulettes.forEach(function(images) {
images.forEach(function(src) {
var img = new Image();
img.src = src;
});
});
}
Pour finir, je te déconseille de commencer le nom de tes variables par une majuscule.
En effet, les conventions dans la majorités des langages veulent qu'on commence toujours les noms de variables / classes par une minuscule. Les majuscules étant en général réservées au définition de classe ou au constante (les constantes étant généralement entièrement en majuscule).
Effectivement 350 est le délai avant de lancer la fonction, tu peux la remplacer par ta variable.
Lors d'un tour de boucle, la fonction (function (i, j) { .. prendra la valeur de i et de j et ne sera plus dépendante de 'i' et de 'j'
Et lorsque la fonction setTimeout s’exécutera, elle contiendra toujours les valeurs qui lui ont été transmise et n'aura pas été modifie.
Pour faire simple, lors du premier tour de boucle, tu auras 350 * 0 et au second 350 * 1 et pour finir 350 * 2
Pourquoi 350 * i ? Comme tu peux le voir au dessus, c'est pour augmenter le délai entre les différente exécution.
Si tu remplaces i par j, vu que j est une valeur aléatoire, tu auras un comportement comme au casino, les images vont défiler et elles s’arrêteront une par une.
Jackpot- changement d image-settimeout???
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Développeur PHP / Symfony en Freelance