Volledige versie bekijken : currentframe
Diderik
%Europe/Berlin %636 %2007, 16:16
Hallo flashers,
Als ik currentframe trace krijg ik steeds "1" te zien terwijl de movie meerder frames heeft. Moet ik currentframe in een loop zetten om alle frames te kunnen tracen?
Bedankt!
M0L
%Europe/Berlin %663 %2007, 16:55
currentFrame laat zien op welk frame je bent, dus als currentFrame traced op frame 24, krijg je ook 24 te zien. Het werkt gewoon perfect. Als totalFrame traced dan krijg je te zien hoeveel frames de MovieClip/Movie totaal heeft.
theFlashWizard
%Europe/Berlin %664 %2007, 16:56
Als je met een loop bedoelt dat je het herhaaldelijk gaat tracen dan is dat inderdaad correct :)
Diderik
%Europe/Berlin %672 %2007, 17:08
Dus ik kan een loop op frame1 zetten met een trace currentframe erin en dat zou dan moeten werken?
theFlashWizard
%Europe/Berlin %680 %2007, 17:19
Licht eraan wat je met een loop bedoelt. Maar probeer het anders eens ;)
Diderik
%Europe/Berlin %695 %2007, 17:42
Ik had zoiets in gedachte, maar het werkt niet : )
hij gaat elke keer een frame verder dus dacht ik dat hij dan ook steeds een frame verder zou tracen, maar helaas krijg ik een x aantal keren nummer 1 te zien.
var total = totalFrames;
var count = 0;
for(total>0;count<total;nextFrame()){
trace(currentFrame);
count++;
}
waarschijnlijk voert hij wel steeds nextframe uit, maar de trace blijft op frame 1 staan en daarom dus alleen maar frame 1 in de trace.
Graag nog een hint :P
theFlashWizard
%Europe/Berlin %707 %2007, 17:59
He... Nee een for loop is hier niet voor bedoelt. Een for loop gebruik je om in 1x een variabel aantal knoppen neer te zetten bijv.
Jij moet gaan werken met de timer class of het ENTER_FRAME event ;)
M0L
%Europe/Berlin %716 %2007, 18:11
Wat wil je hiermee eigenlijk bereiken??
Diderik
%Europe/Berlin %729 %2007, 18:30
Het is voor een button. Als je op de button klikt ontstaat er een beweging op het scherm als de beweging klaar is moet hij iets anders doen. Ik moet dus precies weten wanneer de beweging afgerond is doormiddel van een check op frame nummer met currentframe.
Ik zal eens kijken of ik wat kan maken met enterframe.
Diderik
%Europe/Berlin %813 %2007, 20:31
Zoiets theFlasWizzard?
function enterFrameHandler(event:Event):void {
if(currentFrame!==totalFrames){
trace(currentFrame);
}else{
}
}
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
dit werkt iniedergeval, maar ik weet nog niet hoe ik het else statement netjes kan afsluiten.
Ik bedoel dan iets in de richting van die of exit, maar ik moet effe kijken wat er in AS3 gebruikt wordt om een script af te kappen. Weten jullie dat misschien? :D
theFlashWizard
%Europe/Berlin %819 %2007, 20:40
Probeer het omgekeerde van [b]add[b/]EventListner eens te vinden ;)
Tip, flash help->ActionScript 3.0 Language and Components Reference->All classes->EventDispatcher.
Ik kan namelijk in het volgende overzicht zien dat alle displayObjects die extenden:
http://www.flex.org/download/AS3API_01.pdf
Owke, owke, dat lijkt vast niet heel vanzelf sprekend. Hoop snel een keer de tijd en de zin te vinden om een kleine flash cs3 help tutorial af te ronden.
Wat ook erg leerzaam zou zijn als je het hoofdstuk handling Event in flash help zou doorlezen. deze vind je in het hoofdstuk Programming ActionScript 3.0.
Diderik
%Europe/Berlin %837 %2007, 21:05
Ik heb het effe snel doorgenomen, maar ik snap niks van die dispatcher. Is mijn huidige manier niet goed of wat zijn de verschillen?
Hoe kan ik ervoor zorgen dat ik een Listener maakt met ENTER_FRAME die luistert naar enterframe op de root.
Ik heb bij mijn test scenarios gewoon de huidige movieclip gebruikt, maar ik wil nu dus een listener hebben voor de root. Weet iemand hoe ik dat kan doen?
theFlashWizard
%Europe/Berlin %841 %2007, 21:12
Als jij het script niet in een movieclip neerzet maar op de main timeline, dan heb je toch de root al te pakken?
Bij de Eventdispatcher zag je toch de addEventListner method staan? Zoals je hem nu gebruikt. Vind nu eens zijn tegenpool. Want ik dacht dat je de ENTER_FRAME wilde stoppen?
Diderik
%Europe/Berlin %850 %2007, 21:25
Dat gaat een beetje lastig volgens mij balanceer ik steeds op het randje van OOP met classes/ of de manier zoals ik het nu doe.
De listener en functie staan op frame1 in mijn header_mc>menu_mc zodat ik mijn buttons kan aanspreken. Ik CLICK dus op de button dan maakt hij die ENTER_FRAME listener aan en vervolgens voert hij een actie uit, doordat ik een listener had gemaakt voor ENTER_FRAME kan ik nu checken of hij klaar is met de actie want die eindigt bv op frame 28. Als currentframe 28 is playt hij weer iets anders.
Ik kan script dus niet op de root zetten, want ik heb het nodig voor mijn menu.
Weet je hoe ik dit kan oplossen?
Bedoelde je dit voor de else?
removeEventListener()
theFlashWizard
%Europe/Berlin %862 %2007, 21:42
Als het kan, ga dan helemaal OOP :) Als de dingen die schrijft ook maar enigzins complex worden is het altijd overzichtelijker
Snap niet helemaal waarom je het niet op de root kan zetten. Klein voorbeeldje, stel dat ik de MovieClip runningMovie wil laten afspelen die in de MovieClip movies staat die op zijn beurt weer in de MovieClip mediaLibrary staat. Dan doe ik dat zo vanaf de root:
mediaLibrary.movies.runningMovie.play();
Dit principe snap je?
removeEventListener() bedoelde ik inderdaad :) Is dat ook wat je zocht?
Diderik
%Europe/Berlin %852 %2007, 21:28
Oke bedankt, ik heb alles nu aangepast en ben al een stuk verder. Een ding klopt nog niet en dat is als ik removeListener() aanroep zegt hij in het output panel:
removeListener is not a function
ik roep ze zo aan:
button.addEventListener(Event.ENTER_FRAME,test);
button.removeListener(Event.ENTER_FRAME,test);
Enig idee?
theFlashWizard
%Europe/Berlin %859 %2007, 21:37
uhm, het is removeEventListener volgens mij... :P
Voortaan even checken in flash help he ;)
Diderik
%Europe/Berlin %862 %2007, 21:41
Ik dacht he.. higlight in flash dan zal het wel goed zijn [^].
nogmaals bedank!
BernardV
%Europe/Berlin %862 %2007, 21:42
Ik dacht he.. higlight in flash dan zal het wel goed zijn [^].
Flash highlight zowel AS2 als AS3 ook al heb je een AS3 project... irritant dus...
theFlashWizard
%Europe/Berlin %999 %2007, 00:59
Leve flashdevelop :P
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.