Jes Lee Posted May 10, 2021 Share Posted May 10, 2021 Hello, I made a slot machine to practice phaser 3. you can test it at https://emalron.github.io/slot the problem: the coin sound played once even if 2 or more lines are matched. What I want was repeating playing coin sounds as much as lines were made. function reward(matched) { const scene = game.scene.scenes[0]; matched.forEach((m, i) => { if(m == true) { // play sound scene.coin_sounds[i].play(); // draw line drawlines(scene, i); } }) } the parameter matched is the array of matched line. if second and third line was matched, it would be [,true,true,,,,,] so I travered through the parameter and check if the value is true then play the coin sound and draw line. the thing is the method play() is run asynchronously. so the playing is quit when the loop found the next true value to play its own coin sound. how can I let the loop run after the playing sound is done? thanks for your time to read this topic. Link to comment Share on other sites More sharing options...
Recommended Posts