10. januar 2002 - 16:58Der er
46 kommentarer og 1 løsning
Ændre RGB+Alpha værdi på movieklip
Så er jeg på banen igen..
Søger et script til at ændre på farven/alpha på et movieclip. (Faktisk er det graphic-instances i øjeblikket, men hvis det ikke kan være anderledes kan jeg jo konverterer dem til MCs\'.)
Det skulle helst være sådan, at farven ændrer sig over 10 frames, med en easing - fra den farve det uanset måtte have før til en ny farve.
Min plan er så at sætte det samme script på alle MC\'s, men med forskellige værdier - så uanset hvilket MC man kommer fra (hvilken farve moviclippet har til at starte med) vil det ændrer sig i en nydelig overgang til de nye værdier.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
mulighederne for overgangene er så mange at du må uddybe hvordan de skal styres, og hvilken farve det skal slutte med. Skal det ligge fast som en 10 frame overgang eller skal vi blot specificere at hver ændring skal ske i en bestemt størrelse ?
Æhm, jeg havde tænkt mig et script hvor jeg netop selv vil kunne deffinere antal frames, easing parameter, RGB-værdier og Alpha-værdi. Altså, så snart man kommer til dette movieclip.
Et.. OnEnterFrame change RGB/Alpha value to: R=206 G=107 B=168 Alpha=37
DuringFrames=10 Easing=100
*G* Håber du forstår..
Jeg sidder nemlig og animere dether, men med fire knapper og et moviclip for hver knap, skal jeg animere 24 variationer - og det giver mig kryb. :) Derfor, så kunne det jo være praktisk, hvis man kunne lave dether via actionscripting, så uanset hvilket moviclip jeg kommer fra og uanset hvilken farve det har, så vil scriptet ændre farven til de nye værdier.
Mere forklaring.. Movieklippet ligger i frame 1,2,3 og 4. Clippet skal have hver sin farve i de pågældende frames. Hver frame er forsynet med en stop-kommando.
Går jeg fra frame 3 (som måske er blå) til frame 2 (som skal være rød) så vil farven ændre sig over 10 frames fra blå til rød.
*Host! Er det stadig lovligt at give så mange her i Flash kategorien?
Easing >> hvordan skal den funke ? som du kan se er der ikke mindre end 4 variabler (rød,grøn,blå og alpha) vi kan variere lige som det passer os. skal de alle skifte værdi i hvert trin, eller skal den ene variabel skifte indtil den når sit target, og derefter starte skift på næste variabel, osv ?
Antal trin >> Det kan vi gøre som antal frames så det udelukkende bliver din hovedfilm som bestemmer tempoet for ændringerene.
Du behøver kun at sige mig hvordan din easing funktion skal fungere. De matematiske aspekter kan du overlade til mig :) Men lad os genoptage spørgsmålet hvor den startede. Her!
Hej igen Geo.. Dén easingparameter jeg oftest bruger er den der i Flash hedder 100.. Men jeg har jo så fundet ud af, at man åbenbart kan lave denne parameter på forskellig måde; æhm, og jeg véd næsten ikke hvilken metode der er bedst. ? (Een der er nogenlunde til at gennemskue kunne være fjong, dvs. en hvor selve easing-formlen er synlig, så jeg kan se hvordan man egentlig easer. På den anden side ville det nemmeste vel være at refererer til Flash egen easingparam., ik'? :)
Kan du hurtigt bikse en fla sammen med den manuelle form for easing du ønsker. hvis jeg kan se den. kan jeg også lave den med actionScript. geo@lingoman.dk
Nu sad jeg så lige og nørdede med "GoTo NextFrame" i Flash 5. Det ser ud til at den stopper når man går til næste frame..? Den skulle jo fortsætte indtil den når en stopkommando.. Men jeg har ikke muligheden for at give NextFrame en Play-parameter..?
Jeg har snart brug for at finde ud af at kunne styre antallet af frames, som farveskiftet skal forløbe over. (Har noget med 10 frames imellem start- og slutfarve i tankerne..? :)
Det' helt okay.. :) Men det er faktisk det sidste jeg mangler for at kunne komme videre med min hjemmeside.. Vil være helt fantastisk ellevild og glad, hvis du kunne indsætte en parameter, så jeg kan sætte hastigheden lidt op :D (Á la 10 frames..?)
Der er os' flere point til dig end de 100 der ligger her og venter, hvis du er interessert.. *S*
Desuden, så har jeg været på jagt efter dén bog, men den enten udsolgt eller os' har boghandleren den ik'.. Jeg må vente i et par uge endnu ifølge Arnold Busck.. *suk*
Dit script virker ellers fuldstændig som det skal, det går bare alt for langsomt.. (Og så var der jo os' noget med en tweening af farveskiftet, altså at det starter rimeligt hurtigt og forløber derefter mere og mere langsomt..?)
Nu må du sige til hvis jeg stiller for stor krav..! :)
Ja gerne! Nu kan du specificere r, g, b, alpha og antal sekunder den skal bruge for at nå til farven.
Den er derfor ligeglad med din framerate
Hvis jeg fks sender kommandoen
this["myMovieClip"].setNewTargetColor(255,0,0,20,2); vil den skifte fra nuværende farve til rød 255 grøn = 0 blå = 0 alpha = 20 på 2 sekunder
hvis min hovedfilm bruger 12 fps ville dette medføre 24 mellestadier (i princippet). I praksis vil den bruge omring 20 mellemstadier fordi udregningerne hugger lidt processortid:)
Klik på actionen som jeg har sat på knappen og afprøv nogle forskelige indstillinger. Sender filen nu!
Nej det var ikke en fejl fra min side. Det må være en bug i Flash. setTransform ser ud til at kunne påvirke alpha KUN hvis alpha < 100% er valgt i movieClippet. Hvis man fks sætter den til 99% i farve paletten virker alle ændringer herefter.
Men jeg har så lige et sidste spørgsmål.. Det første script du lavede var skruet sådan sammen, at det skulle sættes på en frame og ikke på en knap som det er nu.. Jeg kunne rigtigt godt tænke mig at bibeholde det på en frame.. Men sætter jeg det ind som en frameaction, så virker det lissom ik'..? Skal jeg tilføje noget for at sætte det på en frame? :)
Vent lige et øjeblik inden du smutter fra mig igen;)
Jeg har lavet det sådan at den nu standser _root hvergang den tweener og starter igen når den er færdig. På den måde behøver du ikke tælle frames før du introducerer den næste farve.
Ja, ret tilfreds.. Men der er noget med den Alpha jeg ikke helt fatter..?
Jeg har endnu ikke kunne gøre et MC helt usynligt, men kun ændre en lillesmule på opaciteten.. Er der noget jeg gør forkert? Jeg har ellers sat alpha til 99% som du skriver..
Iøvrigt, version 6 dur' ikke helt. Den er ligeglad med stopkommandoer, og fortsætter bare med at ændre farve selvom man vil ha' den til at stoppe. :)
Æh, nu er det gået helt galt her i formateringen.. Men jeg syns' jeg kan se, at dér hvor alpha er deffineret, der mangler der lissom en tuborg ovenover..?
Jep. Har siddet hele natten og har ikke kunne finde ud af hvorfor mit MC altid startede med at være knald-lyserødt istedet for mørkeblåt som jeg havde sat det til at være i den pågældende frame - men så fant jeg ud af at startværdien jo ligger i det script som MC har på sig - og David blev igen lidt klogere.. :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.