Volledige versie bekijken : simpele functie om te checken of er mc's spelen.
.pixr
%Europe/Berlin %601 %2005, 15:26
Goedemiddag, ik wil graag een functie maken die check of er andere mc's die op de stage staan bezig zijn met afspelen, deze hebben als waarde "true". als een mc niet afspeelt heeft die de waarde van "false". Als de waarde voor ALLE mc's "false" is dan wil ik dat deze functie een simpele actie uitvoert. nl :
mcArray[0].play();
clearInterval(myTimer);
Dit is de code die ik zelf al heb, heb het idee dat ik simpels over het hoofd zie, krijg het nl. niet voor elkaar.
myTimer = setInterval(playnext, 1000);
function playnext() {
for (i=0; i<mcArray.length; i++) {
if (_root.mcArray[i].statusmc == false) {
mcArray[0].play();
clearInterval(myTimer);
stop();
}
}
}
stop();
zouden jullie mij een handje kunnen helpen [?]
theFlashWizard
%Europe/Berlin %614 %2005, 15:44
volgens mij mis ik n groot stuk van het script.. in die mcArray staan de namen van de mc's?
wanneer je alleen namen erin hebt staan moet je ook zoiets doen:
_root[mcArray[0]].play();
ipv:
mcArray[0].play();
en heb je die statusmc in de mc's gezet of in een array item?
en wat is eigenlijk het idee achter het script? waar dient et voor want ik kan me er zo 1,2,3 niet iets bedenken waarbij dit nodig is.. :P
.pixr
%Europe/Berlin %694 %2005, 17:39
"theFlashWizard]volgens mij mis ik n groot stuk van het script.. in die mcArray staan de namen van de mc's?"
Ja
"wanneer je alleen namen erin hebt staan moet je ook zoiets doen:
_root[mcArray[0]].play();"
Weer wat geleerd
"en heb je die statusmc in de mc's gezet of in een array item?"
deze staat gewoon in elke mc
en wat is eigenlijk het idee achter het script? waar dient et voor want ik kan me er zo 1,2,3 niet iets bedenken waarbij dit nodig is..
het is een script waar een grid0 van mc's uit zichzelf random afspelen d.m.v. een shuffle array. je kan ook het automatisch afspelen onderbreken door op een andere mc te klikken.
die functie wil ik dus laten kijken of er iemand het process onderbroken heeft, als dat het geval is hoeft deze actie niet te zorgen dat de volgende mc automatisch wordt afgespeelt.
theFlashWizard
%Europe/Berlin %776 %2005, 19:38
schijt voortaan please ff wat ik heb gezet door quite tags te gebruike.. leest erg iri nu..
maarre waarom clear je de functie niet en start je em nie opnieuw na et klikken op een mc?
.pixr
%Europe/Berlin %804 %2005, 20:17
schijt voortaan please ff wat ik heb gezet door quite tags te gebruike.. leest erg iri nu..
maarre waarom clear je de functie niet en start je em nie opnieuw na et klikken op een mc?
hoe doe ik dat? zoiets heb ik nog nooit gedaan.
theFlashWizard
%Europe/Berlin %807 %2005, 20:22
"weetje wat jij eens moet doen.. naar de kamer van koophandel gaan.."
ik voel me dus net dat figuur.. iederekeer weer de tutials die ik verzamelt heb geven.. das alles dat vaak nodig is..
intervals:
http://www.kirupa.com/developer/actionscript/setinterval.htm
http://www.actionscripts.org/tutorials/intermediate/setInterval/index.shtml
ik hoop toch wel snel dat er iets van n sticky komt voor me verzameling..
.pixr
%Europe/Berlin %937 %2005, 23:29
intervals:
http://www.kirupa.com/developer/actionscript/setinterval.htm
http://www.actionscripts.org/tutorials/intermediate/setInterval/index.shtml
ik heb ze gelezen maar zie de "magic" nog steeds niet...
theFlashWizard
%Europe/Berlin %042 %2005, 02:00
daarin staat vermeld hoe je een interval start en cleared.. zoals ik in 1 van mijn vorige post uitlegde kun je dus een interval opnieuw beginnen..
nu is het aan jou deze info te combineren en n beginnetje te maken..
SaphuA
%Europe/Berlin %433 %2005, 11:24
Ik snap niet precies wat je bedoeld, dus ik gok maar wat.
Er zijn twee oplossing, als je een MC laat spelen, sla je dit op in een object, waneer deze stopt met spelen doe je dit dus ook. Zo hou je precies bij waneer een MC speelt ed. Dit kan op verschillende manieren gebeuren; als een MC steeds gaat spelen door een actie van de user, laat je op dat moment het object updaten. Als de MC stopt door een stop();-actie, moet je daar dus een code bijvoegen die het object update.
Een andere manier, minder aangeraden, is om elk frame te kijken of er een MC aan het spelen is dmn van AS. Dan loop je door elke MC en sla je zijn _currentframe op, dan kijk je een frame daarna of dit veranderd is. Dit hangt dus een beetje af van het aantal MC's dat je hebt of je dit kunt gebruiken.
.pixr
%Europe/Berlin %538 %2005, 13:55
@saphua : thanks daar heb ik nou wat aan, ik had nooit over dat object gebeuren nagedacht... misschien een optie om even naar te kijken. Ik heb nu al wel een ander stukje code gebruikt wat ook lijkt te werken.
Het enige wat dt nu voor probleem heeft is dat er geen vertraging meer in zit, maar daar heb ik denk ik wel een oplossing voor.
this.onEnterFrame = function() {
for (var mc in _root.mcArray) {
if (_root.mcArray[mc].statusmc) {
return;
}
}
mcArray[1].play();
nextFrame();
};
stop();
SaphuA
%Europe/Berlin %549 %2005, 14:11
@saphua : thanks daar heb ik nou wat aan, ik had nooit over dat object gebeuren nagedacht... misschien een optie om even naar te kijken. Ik heb nu al wel een ander stukje code gebruikt wat ook lijkt te werken.
Het enige wat dt nu voor probleem heeft is dat er geen vertraging meer in zit, maar daar heb ik denk ik wel een oplossing voor.
this.onEnterFrame = function() {
for (var mc in _root.mcArray) {
if (_root.mcArray[mc].statusmc) {
return;
}
}
mcArray[1].play();
nextFrame();
};
stop();
Die code lijkt echt nergens op :D
Wat je kunt doen is hetvolgende:
Met die for-in loop door alle objecten loopen, en met typeof() kijken welke er MC's zijn.
Dan sla je hun huidige frame op.
Daarna loop je nog een keer, als er dan een MC zijn huidige frame niet meer overeenkomt met de opgeslagen frame, break je de loop af en begin je op het volgende frame opnieuw.
Als de loop niet wordt afgebroken, zijn alle frames hetzelfde gebleven dus wordt er niets afgespeeld.
Heb het zelf nog niet geprobeerd maar in de theorie zal het moeten werken :)
Als je er niet uitkomt zal ik eens kijken of ik wat in elkaar kan zetten voor je. Heb helaas nu geen tijd omdat ik wat deadlines voor maandag heb :(
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.