Hét vraag- en antwoordplatform van Nederland

Hoe stop ik het met foto's spawnen?

Ik heb een script gemaakt met JavaScript die random foto's op een random plaats binnen de canvas zet. Dat doet hij ook geweldig alleen met het probleem dat hij niet stopt. Vind mijn script hier: https://docs.google.com/document/d/1Hq5TYozHfAGAhVp9el57Ks_I2CAx2IxIMcFdL9ePFBA/edit?usp=sharing
Mijn vraag was dus hoe ik stop met de foto's plaatsen...
Alvast bedankt!

Picture for question
Verwijderde gebruiker
5 jaar geleden
1.7K
Verwijderde gebruiker
5 jaar geleden
Wat ik bedoelde te doen was om de seconde een foto blijven plaatsen tot er 10 foto's zijn... Zou je misschien willen laten zien hoe het er dan ongeveer uit zou zien want setTimeout maakt stopt dan het script voor een x aantal (milli)seconden toch?
gvrox
5 jaar geleden
Die setInterval blijft gewoon doorlopen, bedoelde je misschien setTimeout ?

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (1)

Er zijn 2 grote problemen in je code, ten eerste gebruik je een setInterval, en die blijft draaien, en ten tweede roep je steeds weer de functie aan die weer een nieuwe setInterval doet. Je kunt beter een extra functie maken met een parameter die zegt welke afbeelding gebruikt moet worden, en dan hoog je aan het eind die parameter op, en indien de parameter nog kleiner dan 5 is, dan roep je jouw functie weer aan met een setTimeout.
(Lees meer...)
gvrox
5 jaar geleden
Verwijderde gebruiker
5 jaar geleden
Ik heb mijn code geüpdate (je kan hem zien op dezelfde document) maar nu reageert hij helemaal niet, hij geeft ook geen foutmeldingen aan... Weet u misschien waardoor dit komt?
gvrox
5 jaar geleden
Het lijkt dat je niet helemaal snapt wat je aan het doen bent, want nergens roep je de code aan vanuit de getimede functie om een afbeelding te plaatsen. function voer_uit(stap)
{
// hier doe je de code om gebaseerd op de waarde van stap iets te doen
} function doe_stap(stap)
{
voer_uit(stap);
if (stap<einde) setTimeout("doe_stap(stap+1)",2000);
} en dan kun je in de thystuff function doe_stap(0); uitvoeren. Het woord einde moet je nog even vervangen door je eigen laatste waarde.
gvrox
5 jaar geleden
setTimeout("doe_stap("+stap+"+1)",2000);

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding