PDA

Volledige versie bekijken : 2 acties voor 1 button


chris1234
%Europe/Berlin %480 %2005, 12:32
Ik heb een menu button die k 2 dingen wil laten doen: naar een frame in de root gaan en naar een frame in een mc die in die rootframe zit.

on (rollOver) {this.gotoAndPlay("butplay");}
on (rollOut) {this.gotoAndPlay("butdim");}
on (press) {(_root.gotoAndStop("portfolio"));}
on (release) {_parent.gotoAndPlay("menu up");}

Nu gaat ie wel naar de frame portfolio, maar hij moet nou ook nog voor een gotoandplay actie oid zorgen dat de clip glamour naar frame play gaat. K weet alleen niet hoe k 2 taken kan koppelen aan 1 mouse action voor die button

Ik eerst zat te denken aan een variabele die de button dan veranderd, buttonvar = 1 oid, maar dat lukte niet. de mc's reageerden gewoon niet op die variabelen.

Ik zou natuurlijk voor elk portfolio onderwerp aparte frames in de root kunnen maken maar als t k er per onderwerp een mc in 1 portfolio frame kan stoppen en die mc's kan laten starten met buttons en ook stoppen is t geheel veel overzichtelijker.

theFlashWizard
%Europe/Berlin %495 %2005, 12:53
ik zou in een var zetten naar welk frame je in die mc verwezen moet worden, netter is natuurlijk frame label. Daarnaast natuurlijk de root naar een frame sturen dmv een gotoAndPlay/gotoAndStop.
dan zou ik op dat root frame iets neerzetten als
instancenameofmc.gotoAndPlay(varnaam)

gaat dat lukken?

chris1234
%Europe/Berlin %525 %2005, 13:36
Ja dat werkt wel denk ik, alleen hoe krijg ik de button zover dat ie bijvoorbeeld varnaam = glamour doet en daarna ook nog es een gotoandplay actie doet naar het portfolio in de root.

Normaal zou ik dan bij de onpress actie de varnaam laten maken en bij de onrelease actie de gotoandplay naar root frame actie doen, maarja die onrelease is al bezet door de menu up animatie.

bracke
%Europe/Berlin %557 %2005, 14:22
Dit is toch een mooie gelegenheid om uw actionscripting in een aparte layer te stoppen. Ik heb niet concreet door wat je juist wil, maar ik heb een vermoeden.

Ik zal hier proberen uit te leggen wat je ongeveer kunt doen...

myButton.OnRelease
{
varnaam = glamour;
_root.gotoAndStop("portfolio");
}

myButton = de instance naam van uw button

Alles wat tussen {} staat wordt in die volgorde uitgevoerd. Een on[Action] kan dus nooit 'bezet' zijn. Je steekt er zoveel in dat je wilt!!

theFlashWizard
%Europe/Berlin %602 %2005, 15:27
bracke, je bedoelt denk ik:
myButton.onRelease = function(){
varnaam = glamour;
_root.gotoAndStop("portfolio");
}

en dit moet je dan, wat uberhaupt altijd handiger is in op het framescript gooien. dus in een keyframe alstware.

rackdoll
%Europe/Berlin %609 %2005, 15:37
en natuutrlijk als je hem IN de knop zet wordt het:

on(release){
varnaam = glamour;
_root.gotoAndStop("portfolio");
}


hehe :D

chris1234
%Europe/Berlin %695 %2005, 17:41
Nou het werkt wel maar gedeeltelijk.
ik heb nu op de button
on(press){
varnaam = "glamour";
_root.gotoAndStop("portfolio");
}
(als ik glamour niet tussen quotes zette werkte het niet)

Flash gaat netjes naar de portfolio frame en de glamour animatie gaat dan spelen
op frame 1 vande glamour anim staat:
stop();
if (varnaam = "glamour")
{this.gotoAndPlay ("play");}

Dit gaat verder goed, maar ik heb dit zelfde gedaan voor de famous gallery,
op de knop famous:
on(press){
varnaam = "famous";
_root.gotoAndStop("portfolio");
}

en op de eerste frame van de famous anim:
stop();
if (varnaam = "famous")
{this.gotoAndPlay ("play");}

Maar als ik nu op een van de beide knoppen druk, famous of glamour, openen allebeide mc's!
alsof flash denkt dat dat "glamour" en "famous" hetzelfde ding zijn ofzo.. :S

EDIT: ik heb net gemerkt dat de mc's helemaal niet reageren op de variabele varnaam.
Ook als ik varnaam = "famous"; wegliet uit de button AS openden nog beide mc's

theFlashWizard
%Europe/Berlin %850 %2005, 21:24
sorry stom foutje van ons.. het is een string dus eigenlijk logisch dat het tusssen haakjes moet..
voorderest moet ik eerlijk zeggen dat je een heeel omslachtig systeem hebt gemaakt..

waarom die if als je de framelabels gelijk maakt aan de strings.. de inhoud van die vars die je meestuurd dus..
this.gotoAndPlay(varnaam)
en wanneer je famous als varnaam hebt geef je dat frame als framelabel ook famous.. klinkt best simpel toch ;)
heb je zelfs die stop() niet nodig.. zo kan alles dus op 1 regel ;)

chris1234
%Europe/Berlin %589 %2005, 15:09
hmm waarschijnlijk doe ik iets heel erg fout, want t werkt nog steeds niet, ik heb ff een versimpelde fla gemaakt www.ckgrafix.com/flashfocus/varnaamtest.fla
De variabele veranderd wel als k op de knop druk maar de mc reageert er nog niet op.
Die stop heb ik volgens mij wel nodig hoor, anders gaan de mc's toch direct spelen al voordat ik op een button heb gedrukt..?

to flashwizard: sja k ben nog maar net beginnend met as dus echt efficient as'en lukt nog nie altijd, maar igg is t stukken beter dan helemaal zonder as ;) je wilt nie weeeten hoe ik eerst die dingen maakte, eeindeloze systemen met frames en layers en alleen stop, goto acties en frame labels!