Volledige versie bekijken : 'Movieclip button' linken naar een scene
.Tine.
%Europe/Berlin %501 %2007, 13:02
Hey!
Ik heb 2 'movieclip buttons' gemaakt met een rollOver en rollOut erop.
De ene wil ik graag linken naar een scene en de andere naar een frame.
Het linken naar de frame is geen probleem, maar naar de scene wil het maar niet lukken...
Hieronder staat de .fla en de actionscript.
.fla:
Actionscript:
Scene
on(release)
{
gotoAndPlay("Scene 2", 1);
}
on (rollOver)
{
gotoAndPlay ("aan");
}
on (rollOut, dragOut)
{
gotoAndPlay ("uit");
}
Frame
on(release)
{
_root.gotoAndPlay(2);
}
on (rollOver)
{
gotoAndPlay ("aan");
}
on (rollOut, dragOut)
{
gotoAndPlay ("uit");
}
Mr. Black
%Europe/Berlin %528 %2007, 13:41
Hey,
Het is mss een beter idee om script en design op aparte layers te zetten. Zo is het overzichtelijker. Ook werkt alles stukken beter als je op FRAMES script, en niet op de buttons/movieclips zelf. Dan zul je ook meteen zien dat het beter werkt. :)
Voorbeeldje bijgesloten, in Flash MX, omdat ik niet zeker wist of je nou prof. had.
Succes nog! ;)
.Tine.
%Europe/Berlin %536 %2007, 13:52
Het is mss een beter idee om script en design op aparte layers te zetten. Zo is het overzichtelijker. Ook werkt alles stukken beter als je op FRAMES script, en niet op de buttons/movieclips zelf. Dan zul je ook meteen zien dat het beter werkt. :)
Dat heb ik inderdaad al vaker gehoord en gelezen :).
Maar heb probleem is dat ik de actionscript die ik gebruik ga moeten uitleggen aan mijn docent.
En van de actionscript die jij hebt gebruikt begrijp ik niet veel van... :# Ze gaat sowieso zien dat ik dat niet zelf heb gedaan :D.
(Op school leren we ook niet met functions werken... :S)
Maar is eigenlijk mogelijk om de code op de movieclips zelf te laten staan of gaat dat nóóit werken?
Mr. Black
%Europe/Berlin %547 %2007, 14:08
Dat wordt moeilijk, we hebben namelijk 2 gotoAndPlay's:
gotoAndPlay(frameno)
gotoAndPlay(scene, frameno)
Het probleem is dat we de tweede nooit aan een movieclip kunnen toeschrijven, omdat deze natuurlijk geen scenes heeft :D. Omdat flash "_root" als een movieclip ziet, kan je dit dus niet op een button zetten:
on (release)
{
_root.gotoAndPlay("Scene 2", 1);
}
Als je geen _root ervoor zet, gaat hij uit van de button waar het script op staat, en omdat die ook geen scenes heeft gebeurt er niets. Wil je wel perse naar de volgende scene, dan moet je eerste scene uit één frame bestaan en moet het zoiets worden:
on (release)
{
_root.gotoAndStop(_root._currentframe+1);
}
_currentframe staat voor de frame waar hij dan op staat, en omdat er geen tweede frame in de eerste scene zit, gaat hij automatisch naar de tweede scene. Maar dan kan je natuurlijk de framekoppeling niet meer behouden, omdat dan je scene uit 2 frames zou bestaan.
Dus in het kort; het kan wel, maar niet als er nog een tweede frame in de eerste scene staat.
Iig nog succes! ;)
.Tine.
%Europe/Berlin %552 %2007, 14:16
Ok, bedankt voor je duidelijke uitleg!!
Erwinzzz
%Europe/Berlin %561 %2007, 14:28
Alleen zou ik zeker geen _root gebruiken. Je _root ligt namelijk eigenlijk nooit vast. Wanneer je bijvoorbeeld je movie inlaad, is de movie waar in hij staat de _root geworden. Zo kloppen je verwijzingen dus niet meer. Hierover nog een artikel (http://www.flashfocus.nl/forum/showthread.php?t=7160) van theFlashWizard.
Het beste is met _parent werken. _parent doet eigenlijk gewoon een stapje omhoog. Vandaaruit kan je weer een andere MC aanspreken. Voorbeeldje: Je hebt movieclip 'mc1', met daarin 'mc2' en 'mc3'. Als je dus op de timeline van mc2 zit, en je wilt mc3 aanspreken, kan je dat het beste doen op de volgende manier:
on(release){
this._parent.mc3.gotoAndPlay("Scene2");
}
Je zit dus in de scope van mc2, je doet een stapje omhoog (mc1) en daarvanuit kan je mc3 aanspreken.
Daarbij zou ik toch echt op je frames scripten, zoveel moeite kost het niet om het te begrijpen, maar je hebt er wel heel veel profijt van!
-Rutger-
%Europe/Berlin %564 %2007, 14:33
Leren jullie op school geen functions :S.... Dat is wel bagger zeg... Bij actionscript heb je om dingen simpel te houden, vrij vaak functions nodig. Maarja dat was offtopic... Ik denk dat mr. black zijn manier wel het makkelijkste is, dat zou ik tenminste doen.
Erwinzzz
%Europe/Berlin %567 %2007, 14:37
Leren jullie op school geen functions :S.... Dat is wel bagger zeg... Bij actionscript heb je om dingen simpel te houden, vrij vaak functions nodig. Maarja dat was offtopic... Ik denk dat mr. black zijn manier wel het makkelijkste is, dat zou ik tenminste doen.
Dat is inderdaad best slecht, want ik geloof dat je in CS3 alleen nog maar op frames kan scripten. Zoniet: dan gaat het echt niet lang meer duren voor ze het eruit gooien.
[url=http://behived.blogspot.com/2006/05/flash-buttons.html]Hier staat wel een goed artikel van Behived over het gebruik van deze events... zeker de moeite waard even door te kijken..
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.