10. december 2003 - 10:58Der er
11 kommentarer og 1 løsning
Hvordan laver jeg en vifte?
Jeg har et rundt billed, som jeg skal have en maske ind over...
Denne maske skal virke som en lagkagebid der bliver større og større... fra 0 til 360 grader.
Jeg har lavet to versioner:
Den første består af en halvcirkel med en maske som er en halvcirkel... Halvcirkel masken ligget spejlvendt af halvcirklen, så de tilsammen danner en cirkel. Jeg rotere så maske halvcirklen 180 grader ind over den anden, så jeg får en halv vifte...
Jeg laver så et mc med to halve vifter hinnanden som så tilsammen danner en hel.
Den bruger jeg så som maske....
...Det virker bare ikke!!!
Så har jeg lavet en anden løsning, som virker! Den består af 4 kvarte der i rigtig rækkefølge bare er et shapetween fra en streg til en kvart cirkel...
Den virker bare ikke når jeg publicere den som flash 5!
Er der nogen der har en god ide til en anden måde at gøre det på
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.
Nårh!! Den er lidt mere besværlig og kræver lidt fikserier med grafik:
1. Lav et nyt mc med navnet "cirkelbue" 2. I dette tegner du en cirkel med radius på 100 (bredde på 200). 3. I et lag over denne cirkel laver du en 100 lang streg der går fra (0,0) (midten af cirklen) til (100,0). 4. Kopier denne streg. 5. Gå op i transform og roter stregen præcis 1 grad (den skråner meget lidt nedad). 6. Paste den originale streg ind igen, hvor den var før (0,0) 7. De to streger klippes ud og sættes ind på samme position i laget med cirklen. 8. Det skulle nu være muligt at markere alt andet af cirklen end den lille cirkelbue som de to streger danner og så slette det. 9. Du har en cirkelbue med en vinkel på en grad - fantastisk...
Nu til programmeringen...
1. vælg din cirkelbue og eksporter den til actionscript med samme navn. 2. Lav et nyt tomt mc. 3. I 1. frame i dette mc (interval er tid i millisekunder):
n = 0; interval = 100; startTime = getTimer();
4. I 2. frame:
if(getTimer >= startTime+interval and n < 360){ attachMovie("cirkelbue", "deg"+n, n+1); this["deg"+n]._rotation = n; n++; startTime = getTimer(); }
Jeg tror altså ikke det kan laves på denne måde alligevel da Flash 5 ikke understøtter scriptede Movieclips i mask-layers, men fortvivl ikke der er en anden løsning. Skal lige bikse den sammen...
Dette movieclip laver først en hel cirkel for så langsomt at slette den... For at få en effekt som et mask-layer skal du lave en firkant, der fylder hele stage'n ud og med et hul hvor cirklen lige kan være i, sådan at man istedet for et mask layer ser igennem et direkte hul... Løsningen er desværre ikke så god i alle tilfælde....
Der er dog en sidste løsning: frame-by-frame... opbyg en cirkel af cirkelbuer frame efter frame... slavemåden...
Synes godt om
Ny brugerNybegynder
Din løsning...
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.