digitalecartoons
%Europe/Berlin %323 %2005, 08:46
Ik zit nog een beetje te sleutelen aan de volgende code voor een button. Eerst maar even de code:
knop.onPress = function() {
//speel geluid en ga daarna naar site
//met checksound checken of geluid al aan is
var poof = new Sound();
poof.attachSound("poof.wav");
if (checksound != "aan") {
poof.start();
checksound = "aan";
poof.onSoundComplete = function() {
getURL("http://www.mijnsite.nl/links.htm", "_blank");
checksound = "uit";
};
}
};
Het is de bedoeling dat als er op de button geklikt wordt het geluidje poof.wav afgespeeld wordt. Is die klaar dan moet er een nieuw venster geopent worden met de opgegeven url (deze url is maar een dummy). Maar pas als het geluidje ook echt afgespeeld is. Dat heb ik dus met onSoundComplete gedaan en dat werk ook goed.
Is het een lang geluid en klik je in de tussentijd nogmaals op de button dan mag poof.wav niet opnieuw gaan beginnen te spelen (bij veel klikken ontstaan er dan vele poof.wavs die elkaar dan gaan overlappen). Dit heb ik met de variabele checksound beperkt. Als poof.wav begint wordt checksound op "aan" gezet en bij een volgende keer klikken wordt dan niet poof.wav opnieuw opgestart. Tenzij het geluidje klaar is en checksound op "uit" gaat.
Nu vroeg ik mij af of de code ook als volgt aan te passen valt. Dat als iemand meermalen op de button klikt dan niet steeds poof.wav opgestart wordt, maar de geturl mag dan wat mij betreft wel gewoon blijven werken (dat mensen dus meerdere vensters openen). Niet dat ik dat zou willen, maar ben wel nieuwsgierig hoe ik de code hierop zou moeten aanpassen.
knop.onPress = function() {
//speel geluid en ga daarna naar site
//met checksound checken of geluid al aan is
var poof = new Sound();
poof.attachSound("poof.wav");
if (checksound != "aan") {
poof.start();
checksound = "aan";
poof.onSoundComplete = function() {
getURL("http://www.mijnsite.nl/links.htm", "_blank");
checksound = "uit";
};
}
};
Het is de bedoeling dat als er op de button geklikt wordt het geluidje poof.wav afgespeeld wordt. Is die klaar dan moet er een nieuw venster geopent worden met de opgegeven url (deze url is maar een dummy). Maar pas als het geluidje ook echt afgespeeld is. Dat heb ik dus met onSoundComplete gedaan en dat werk ook goed.
Is het een lang geluid en klik je in de tussentijd nogmaals op de button dan mag poof.wav niet opnieuw gaan beginnen te spelen (bij veel klikken ontstaan er dan vele poof.wavs die elkaar dan gaan overlappen). Dit heb ik met de variabele checksound beperkt. Als poof.wav begint wordt checksound op "aan" gezet en bij een volgende keer klikken wordt dan niet poof.wav opnieuw opgestart. Tenzij het geluidje klaar is en checksound op "uit" gaat.
Nu vroeg ik mij af of de code ook als volgt aan te passen valt. Dat als iemand meermalen op de button klikt dan niet steeds poof.wav opgestart wordt, maar de geturl mag dan wat mij betreft wel gewoon blijven werken (dat mensen dus meerdere vensters openen). Niet dat ik dat zou willen, maar ben wel nieuwsgierig hoe ik de code hierop zou moeten aanpassen.