PDA

Volledige versie bekijken : setInterval veranderen met input text


kurtgamer
%Europe/Berlin %650 %2005, 16:36
hallo mensen

ben bezig met een foto slideshow inelkaar aan het steken

ik heb de slide show al automatisch laten verder lopen
en wanneer je handmatig wilt werken lukt dat ook
maar ik kom volgend probleem tegen

ik heb een input text op mijn stage geplaatst met nu een 3 in, de var is tijd hiervoor
en nu werkt mijn slideshow hij krijgt om de 3 sec een nieuwe foto
myInterval = setInterval(go, tijd*1000);
function go() {
if (curFrameNum<Number(slideInfoLV.totalFrames)-1) {
curFrameNum++;
} else {
curFrameNum = 0;
}
fadeOut = true;
slideCounter();
}



ik zou willen dat de bezoeker de 3 kan veranderen in iets anders en dat mijn setInterval hem aanpast daaraan

ik geprobeert met addListener maar ik geraak er niet uit

ik heb een knop aangemaakt met dit als AS
mcKnopAuto.onRelease = function():Void {
clearInterval(myInterval);
mcSec = tijd;
myInterval = setInterval(go, tijd*1000);
go();
}

Dit werkt nu wel zonder problemen

maar ik zou het toch willen hebben als iemand een ander getal intypt dat het automatisch verandert met bijvoorbeeld addlistener (ipv een knop in te drukken)

theFlashWizard
%Europe/Berlin %843 %2005, 21:14
zoiets:

textfield.onChanged = function(){
if(this.text != "") tijd = this.text
clearInterval(myInterval)
myInterval = setInterval(go, tijd*1000);
}

?

kurtgamer
%Europe/Berlin %849 %2005, 21:23
zoiets:

textfield.onChanged = function(){
if(this.text != "") tijd = this.text
clearInterval(myInterval)
myInterval = setInterval(go, tijd*1000);
}

?

ben daarmee ook bezig maar een klein beetje anders
mcSec.onChanged = function () {
if ( tijd =="" ) {
tijd = 3;
}
trace(tijd)
clearInterval(myInterval);
myInterval = setInterval(go, tijd*1000);
}
is mij AS ook goed of zou ik beter de uwe gebruiken

maar zit nog een probleempje met de nul seconden
ik zou moeten hebben als de 0 seconden ingetypt wordt dat hij op 3 terugkomt

theFlashWizard
%Europe/Berlin %855 %2005, 21:32
ik snap jou werkwijze niet eens..
ff per punt:
tijd is nooit "" want die heb je bij het begin ingevult..
je gebruikt nergens de inhoud van je textfield..

maar om je idee in te voegen in die van mij maak je er simpelweg dit van:

textfield.onChanged = function(){
if(this.text == "") tijd = 3
else tijd = this.text
clearInterval(myInterval)
myInterval = setInterval(go, tijd*1000);
}

onthoud trouwens wel dat je werkt met de instancename van het textfield en niet een variabele die je opgeeft bij het input textfield.

kurtgamer
%Europe/Berlin %856 %2005, 21:33
tijd = 3;
mcSec.onChanged = function () {
if ( tijd =="" | tijd ==0) {
tijd = 3;
}
trace(tijd)
clearInterval(myInterval);
myInterval = setInterval(go, tijd*1000);
}


zo lukt het allemaal bedankt voor de hulp

nu pas ben ik tevreden maar zal nu eerst uw werkwijze eens bestuderen

theFlashWizard
%Europe/Berlin %857 %2005, 21:35
nu pas ben ik tevreden
maar ik nog niet helemaal.. ik was benieuwd naar een reactie op de aanmerkingen die ik had op je werkwijze.. daar kan je nog n stuk meer van leren namelijk..

kurtgamer
%Europe/Berlin %860 %2005, 21:38
ik snap jou werkwijze niet eens..
ff per punt:
tijd is nooit "" want die heb je bij het begin ingevult..
je gebruikt nergens de inhoud van je textfield..

maar om je idee in te voegen in die van mij maak je er simpelweg dit van:

textfield.onChanged = function(){
if(this.text == "") tijd = 3
else tijd = this.text
clearInterval(myInterval)
myInterval = setInterval(go, tijd*1000);
}

onthoud trouwens wel dat je werkt met de instancename van het textfield en niet een variabele die je opgeeft bij het input textfield.

als ik in mijn swf de seconden wegdoe die eerst ingesteld zijn als tijd = 3;
dan ging mijn foto slide's veel te rap vooruit en met de if tijd =="" bij te steken werkte het
anders wil ik de fla eens posten

kurtgamer
%Europe/Berlin %865 %2005, 21:45
U zegt dat ik nergens de inhoud van mijn textfield gebruik maar mijn textfield noemt
mcSec sorry maar had te rap getypt het is geen movieclip maar een textfield
normaal zou ik het gewoon Sec als instance name gebruikt hebben
is misschien dubbelzinnig

dus mij AS is mcSec verandert in Sec
tijd = 3;
Sec.onChanged = function () {
if ( tijd =="" | tijd ==0) {
tijd = 3;
}
trace(tijd)
clearInterval(myInterval);
myInterval = setInterval(go, tijd*1000);
}

myInterval = setInterval(go, tijd*1000);
function go() {
if (curFrameNum<Number(slideInfoLV.totalFrames)-1) {
curFrameNum++;
} else {
curFrameNum = 0;
}
fadeOut = true;
slideCounter();
}

Dauntless
%Europe/Berlin %865 %2005, 21:46
if ( tijd =="" | tijd ==0) {
tijd = 3;
}

Die | moet || worden...

Overigens gebruik je blijkbaar de 'var' property van het textvak. Het is beter om de instance naam te gebruiken (zie theFlashWizard's antwoord... maar daar staat eigenlijk oko een foutje in:)

textfield.onChanged = function(){
if(this.text != "") tijd = Number(this.text);
clearInterval(myInterval)
myInterval = setInterval(go, tijd*1000);
}

kurtgamer
%Europe/Berlin %874 %2005, 21:59
Die | moet || worden...

Overigens gebruik je blijkbaar de 'var' property van het textvak. Het is beter om de instance naam te gebruiken (zie theFlashWizard's antwoord... maar daar staat eigenlijk oko een foutje in:)

textfield.onChanged = function(){
if(this.text != "") tijd = Number(this.text);
clearInterval(myInterval)
myInterval = setInterval(go, tijd*1000);
}

er zijn een paar dingen die niet werken
if(this.text != "") tijd = Number(this.text);
dat lukt niet in mijne swf
if ( this.text =="" || this.text ==0) tijd = 3;
dit wel

een vraagje waarom moeten er || ipv |
en waarom mag je niet werken met de var maar moet je met de textfield naam werken?

het is om bij te leren dat ik het vraag

kurtgamer
%Europe/Berlin %879 %2005, 22:06
if ( this.text =="" || this.text ==0) this.text = 3;

nog wat bijgeschaafd

want als ik dit gebruik
if(this.text != "") tijd = Number(this.text);
en als er niks instaat in mijn textfield dan moet volgens hierboven tijd gelijk zijn aan niks

theFlashWizard
%Europe/Berlin %882 %2005, 22:10
als je nou is kijkt hoe je een if gebruikt in flash help? :S zie je zo dat je || gebruikt voor "of".
want als ik dit gebruik
ActionScript:

if(this.text == "") tijd = Number(this.text);


en als er niks instaat in mijn textfield dan moet volgens hierboven tijd gelijk zijn aan niks

en wat denk je dat er gebeurt bij deze dan:
if ( this.text =="" || this.text ==0) this.text = 3;

kurtgamer
%Europe/Berlin %884 %2005, 22:13
als je nou is kijkt hoe je een if gebruikt in flash help? :S zie je zo dat je || gebruikt voor "of".


en wat denk je dat er gebeurt bij deze dan:
if ( this.text =="" || this.text ==0) this.text = 3;

sorry een foutje van mij

if(this.text != "") tijd = Number(this.text);
dat was jullie text had mistypt
en mijn text was
if ( this.text =="" || this.text ==0) this.text = 3;

als bij mij het textfield leeg is dan komt er automatisch een 3 in die gelijk is aan 3 seconden

theFlashWizard
%Europe/Berlin %887 %2005, 22:18
if ( this.text =="" || this.text ==0) tijd = this.text = 3;
else tijd = Number(this.text)

late we et dan maar zo doen he..
jammer dat ik je nu nog niks heb kunne leren..
want Kheb volgens mij nog steeds geen antwoorden op die eerdere vragen..

kurtgamer
%Europe/Berlin %896 %2005, 22:31
if ( this.text =="" || this.text ==0) tijd = this.text = 3;
else tijd = Number(this.text)

late we et dan maar zo doen he..
jammer dat ik je nu nog niks heb kunne leren..
want Kheb volgens mij nog steeds geen antwoorden op die eerdere vragen..

ik ben bezig aan het bijleren en daar ben ik dankbaar voor en sorry als ik nog niet alles snap
maar ik probeer mijn best te doen
ik doe het voor mijn eigen dus dit is geen verplicht nummertje voor mij

ik heb nu al bijgeleerd dat je niet de var moet aanroepen maar wel het textfield
omdat de var buiten de function onChanged al een number toegekend heeft ,
ik heb ook geleerd dat | moet || zijn.

theFlashWizard
%Europe/Berlin %904 %2005, 22:42
tuurlijk is het niet verplicht.. maar voor mij om jou te helpen ook zeker niet..

maar je weet dus dat je || moet gebruiken.. maar ondertussen waarscheienlijk nog nie eens wat && is..

duzz.. kijk hier eens naar please..
AS beginners tuturials:
de 1ste 3 van:
http://www.actionscripts.org/tutorials.shtml
http://www.flashfocus.nl/forum/showthread.php?t=189&highlight=AStips
http://www.flashfocus.nl/tutorials/Actionscripting/Beginnen%20met%20Actionscripting/?filename=AS%20voor%20beginners_Jeroen%20Beckers.z ip

kurtgamer
%Europe/Berlin %912 %2005, 22:54
oké wat heb ik nu opgezocht en bijgeleerd
!= (inequality)

if(this.text != "") tijd = Number(this.text);

dat verstond ik niet
nu wel denk ik
this.text != "" betekent het omgekeerde dus = false dus kan tijd gelijk zijn aan de nummer die ingetypt is maar volgens mij moet er dan iets achter komen als er niks in de textfield staat
zoals
else this.text = 3
maar in het begin kreeg ik de code zonder deze else in daarom werkte het niet
denk ik
verbeter mij als het niet juist is

en deze tuts zal ik zeker eens bekijken maar niet meer vandaag

theFlashWizard
%Europe/Berlin %915 %2005, 22:58
if(this.text != "")
==
wanneer de text van het textfield NIET gelijk is aan niks

kurtgamer
%Europe/Berlin %923 %2005, 23:09
tuurlijk is het niet verplicht.. maar voor mij om jou te helpen ook zeker niet..

maar je weet dus dat je || moet gebruiken.. maar ondertussen waarscheienlijk nog nie eens wat && is..

duzz.. kijk hier eens naar please..
AS beginners tuturials:
de 1ste 3 van:
http://www.actionscripts.org/tutorials.shtml
http://www.flashfocus.nl/forum/showthread.php?t=189&highlight=AStips
http://www.flashfocus.nl/tutorials/Actionscripting/Beginnen%20met%20Actionscripting/?filename=AS%20voor%20beginners_Jeroen%20Beckers.z ip

om uw vraag te beantwoorden ik had eerst geprobeert met && maar dat lukte niet dan heb ik overgeschekelt naar | omdat ik dat een paar weken terug dit gezien had maar mijn geheugen liet me in de steek want het moest || zijn
waarom lukte && niet
die code gebruikte ik dan (nu niet meer)
if ( tijd =="" && tijd ==0) {
tijd=3;
maar dat was gedoemd om te mislukken want als de tijd =="" true is en de andere false is
dan komt het geheel false uit dan heeft hij de tijd niet aan met 3

theFlashWizard
%Europe/Berlin %945 %2005, 23:41
&& was simpel weg een voorbeeld.. ik vind het zo jammer dat ik de indruk krijg dat je alleen leerde wat wij vertelde.. en niks van flash help en meerdere mogelijke info bronnen
maar ik hoop dat dat verandert als je die paar beginners tutz die ik gaf hebt doorgenome..

ik weet dat && "en" betekent..

kurtgamer
%Europe/Berlin %600 %2005, 15:24
&& was simpel weg een voorbeeld.. ik vind het zo jammer dat ik de indruk krijg dat je alleen leerde wat wij vertelde.. en niks van flash help en meerdere mogelijke info bronnen
maar ik hoop dat dat verandert als je die paar beginners tutz die ik gaf hebt doorgenome..

ik weet dat && "en" betekent..

ik ben nu al enkele maanden bezig met flash en ik heb hier een 3 tal vragen gesteld
waarop ik beu was om naar het antwoord te zoeken (na enkele dagen het geprobeert te hebben) in de help van Flash vindt je alles terug maar soms vindt je niet wat je zoekt omdat je niet weet achter wat je moet zoeken.
de rest heb ik allemaal geleerd met help van Flash en anders doorgezocht tot ik het vond.

Anders als ik maar leerde wat iedereen mij vertelde op de vragen die ik stelde op dit Forum
dan zou ik nog nergens staan want dit zijn specifiefke vragen.
En als jij het allemaal geleerd hebt in enkele maanden tijd dan proficiat.
Binnen enkele maanden zal ik ook beter zijn met AS dan nu.
De indruk die jij hebt is jammer genoeg verkeerd want het laatste dat ik doe is hier mijn vraag neerpennen (en dan wacht ik het antwoord nog niet af maar zoek ik zelf nog verder)
Maar bedankt voor je hulp.

Dauntless
%Europe/Berlin %611 %2005, 15:40
ik ben nu al enkele maanden bezig met flash en ik heb hier een 3 tal vragen gesteld
waarop ik beu was om naar het antwoord te zoeken (na enkele dagen het geprobeert te hebben) in de help van Flash vindt je alles terug maar soms vindt je niet wat je zoekt omdat je niet weet achter wat je moet zoeken.
Da's al héél goed! :) Veel mensen nemen de tijd niet om iets op te zoeken in de help files, terwijl daar idd héél veel instaat. (Vandaar dat er binnenkort een tutorial komt: 'Hoe gebruik ik de flash help files' ;) ). Van wat ik hier kan lezen zoek je idd wel dingen op in de helpfiles :). Zelfs al zoek je maar een beetje op, je doet toch moeite! (iets dat veel beginners niet doen). TheFlashWizard krijgt blijkbaar een andere indruk... maar dat is zijn 'probleem' :p.

Binnen enkele maanden zal ik ook beter zijn met AS dan nu.Ongetwijfeld! :) Zeker als je veel opzoekt in de help files en actief bezig bent met flash leer je elke maand meer en meer! :)

Maar je probleem is nu opgelost neem ik aan? :)

Ps: Die laatste tut die hij voorstelde: lees die niet. Die heb ik zelf geschreven dus ik WEET dat hij verschrikkelijk 'out of date' is :). Hou alles maar op frames zoals je nu gedaan hebt en zet geen AS _op_ buttons/mcs :)

kurtgamer
%Europe/Berlin %625 %2005, 16:00
Da's al héél goed! :) Veel mensen nemen de tijd niet om iets op te zoeken in de help files, terwijl daar idd héél veel instaat. (Vandaar dat er binnenkort een tutorial komt: 'Hoe gebruik ik de flash help files' ;) ). Van wat ik hier kan lezen zoek je idd wel dingen op in de helpfiles :). Zelfs al zoek je maar een beetje op, je doet toch moeite! (iets dat veel beginners niet doen). TheFlashWizard krijgt blijkbaar een andere indruk... maar dat is zijn 'probleem' :p.

Ongetwijfeld! :) Zeker als je veel opzoekt in de help files en actief bezig bent met flash leer je elke maand meer en meer! :)

Maar je probleem is nu opgelost neem ik aan? :)

Ps: Die laatste tut die hij voorstelde: lees die niet. Die heb ik zelf geschreven dus ik WEET dat hij verschrikkelijk 'out of date' is :). Hou alles maar op frames zoals je nu gedaan hebt en zet geen AS _op_ buttons/mcs :)

de F1 knop in Flash ken ik bijna beter dan de F9
en ik ben blij dat je hetzelf zegt dat uwe Tut niet meer Out to Date is dan zal ik deze niet
doorploegen.
En ja mijn probleem is al een tijdje opgelost maar misschien heeft FlashWizard nog een paar opmerkingen.

kurt

theFlashWizard
%Europe/Berlin %781 %2005, 19:45
mijn excuses voor mijn indruk dan ;)
ik zal de laatste van mijn tuturials lijst schrappen
en nee ik had niks meer op te merken..
kun je alleen nog heel mshn voor als mensen dit post nog n x terug lezen als laatste het laatste en werkende script kunnen neerzetten..

kurtgamer
%Europe/Berlin %809 %2005, 20:25
tijd = 3;

Sec.onChanged = function () {
if ( this.text =="" || this.text == 0) tijd = this.text = 3;
else tijd = Number(this.text);
clearInterval(myInterval);
myInterval = setInterval(go, tijd*1000);
}
Selection.setFocus(Sec);
myInterval = setInterval(go, tijd*1000);
function go() {
if (curFrameNum<Number(slideInfoLV.totalFrames)-1) {
curFrameNum++;
} else {
curFrameNum = 0;
}

}
dit is een deel van het werkende script dat ik nu gebruik het totale script is +/- 160 regels
daar zal ik jullie niet mee vervelen.
Sec is een Instance Name van een Input Textfiled
tijd is de var
curFrameNum is de foto

Maar ik ben nog niet klaar met het script ik ben De raadsels van The Flashwizard aan het onderzoeken en zal als ik eruit geraak de code hierbijvoegen

kurtgamer
%Europe/Berlin %843 %2005, 21:14
ten eerste nu weet ik waar FlashWizard naartoe wilde.
ik heb nu met een helder hoofd alles overlopen en een beetje uitgetest
en ja het is beter zo maar ik wist niet naar waar je toe wilde gaan met uw AS
nu ben ik erzelf achtergekomen

tijd = 3;

Sec.onChanged = function () {
if(this.text != "" && this.text<10 && this.text>=1) {
tijd = this.text
clearInterval(myInterval);
myInterval = setInterval(go, tijd*1000);
trace(Sec.text);
}
}
Selection.setFocus(Sec);
myInterval = setInterval(go, tijd*1000);
function go() {
if (curFrameNum<Number(slideInfoLV.totalFrames)-1) {
curFrameNum++;
} else {
curFrameNum = 0;
}
fadeOut = true;
slideCounter();
}

theFlashWizard
%Europe/Berlin %986 %2005, 00:40
ziet er goed uit :)