Avatar billede jacobs1 Nybegynder
18. juni 2004 - 10:44 Der er 8 kommentarer og
1 løsning

Billederotationen med alpha skift mellem 4 billeder

det er altså ikke af dovenskab jeg opretter dette spørgsmål, men nu har jeg bøvlet med det hele dagen igår.
jeg vil gerne lave billederotationen, mellem 4 billeder, kun i ActionScript.

Mine movieclip hedder mc0, mc1, mc2, mc3
og ligger i Depths/level mc0 = 1, mc1 = 2, mc2 = 3, mc3 = 4.

jeg vil gerne have at der går 5 sek, og så alpha den i løbet af 3 sek til mc under, også når den når til mc0 alpha den til mc3 igen.. så der så der er en løkke imellem movieclippene.

for eksempel:
mc3 venter 5 sek også alpha til mc2 og venter 5 sek og alpha til mc1 og venter 5 sek også alpha til mc0 og venter 5 sek og alpha til mc3 også forefra igen.

Håber der er nogen der har tid og lyst, til at hjælpe :)
Avatar billede _k Nybegynder
18. juni 2004 - 15:35 #1
Start med "mc1" og opefter (eller lav om i mit script). En evt. anden måde at loope på, må også stå for egen regning, da jeg smutter på weekend nu ;o)

var antalMCer:Number = 3;
var hastighed:Number = 1000; // Målt i milisekunder
var billedInterval;
var aktivMC:Number = 1;

nytInterval();
function nytInterval() {
    delete _root.mc1.onEnterFrame;
    billedInterval = setInterval(fadeMC, hastighed, aktivMC);
}
   
function fadeMC(mcNr:Number) {
    clearInterval(billedInterval);
    _root.mc1.onEnterFrame = function() {
        if(eval("mc" + mcNr)._alpha > 1) {
            eval("mc" + mcNr)._alpha -= 3;
        }
        else {
            if(mcNr <= (antalMCer)) {
                aktivMC++;
                nytInterval();
            }
            else {
                for(x=1;x<=antalMCer;x++) {
                    eval("mc" + x)._alpha = 100;
                }
                aktivMC = 1;
                nytInterval();
                }
        }
    }
    }
Avatar billede jacobs1 Nybegynder
19. juni 2004 - 11:09 #2
Mange mange tak for den kæmpe hjælp !
Du får lige dine point :)

Ved godt du har brugt lang tid på det, men kan du bruge et sek til at hjælpe mig integrere det for jeg kan ikke lige få det til at virke :(

MovieClippene(mc0, mc1, mc2, mc3) bliver loadet ind i movieClippet loaderVars. så det er vel herinde jeg skal lægge scriptet også rette stierne
sådan her ikk sandt?

var antalMCer:Number = 3;
var hastighed:Number = 1000; // Målt i milisekunder
var billedInterval;
var aktivMC:Number = 1;

nytInterval();
function nytInterval() {
    delete _root.loaderVars.mc1.onEnterFrame;
    billedInterval = setInterval(fadeMC, hastighed, aktivMC);
}
   
function fadeMC(mcNr:Number) {
    clearInterval(billedInterval);
    _root.loaderVars.mc1.onEnterFrame = function() {
        if(eval("_root.loaderVars.mc" + mcNr)._alpha > 1) {
            eval("_root.loaderVars.mc" + mcNr)._alpha -= 3;
        }
        else {
            if(mcNr <= (antalMCer)) {
                aktivMC++;
                nytInterval();
            }
            else {
                for(x=1;x<=antalMCer;x++) {
                    eval("_root.loaderVars.mc" + x)._alpha = 100;
                }
                aktivMC = 1;
                nytInterval();
                }
        }
    }
    }
Avatar billede jacobs1 Nybegynder
19. juni 2004 - 11:20 #3
Glem det jeg lige har skrivet !!!!
for de bliver ikke loadet ind i loaderVars movieClippet, ved ikke lige hvad jeg tænkte på sorry..

men Scriptet alpha rigtig første gang til movieClip under, men så kommer det første movieClip frem igen.. og sådan bliver den bare ved?? hvad kan det være?
Avatar billede jacobs1 Nybegynder
19. juni 2004 - 11:59 #4
http://www.tuna.dk/biler/

her kan du se det :)
den røde bil alpha til den første bil igen..

_root.mc1.swapDepths(4);

var antalMCer:Number = 3;
var hastighed:Number = 1000; // Målt i milisekunder
var billedInterval;
var aktivMC:Number = 1;

nytInterval();
function nytInterval() {
    delete _root.mc1.onEnterFrame;
    billedInterval = setInterval(fadeMC, hastighed, aktivMC);
   
}
   
function fadeMC(mcNr:Number) {
    clearInterval(billedInterval);
    _root.mc1.onEnterFrame = function() {
        if(eval("mc" + mcNr)._alpha > 1) {
            eval("mc" + mcNr)._alpha -= 3;
            trace( mcNr)
        }
        else {
            if(mcNr <= (antalMCer)) {
           
           
                aktivMC++;
                nytInterval();
            }
            else {
                for(x=1;x<=antalMCer;x++) {
                    eval("mc" + x)._alpha = 100;
                }
                aktivMC = 1;
                nytInterval();
                }
        }
    }
    }
Avatar billede _k Nybegynder
20. juni 2004 - 12:43 #5
Takker for point.

Det her skulle gerne gøre det:

var hastighed:Number = 1000; // Målt i milisekunder
var billedInterval;
var aktivMC:Number = 1;

nytInterval();
function nytInterval() {
    delete _root.mc1.onEnterFrame;
    if(aktivMC == antalMCer) {
        mc1.swapDepths(eval("mc" + antalMCer));
        mc1._alpha = 100;
    }
    billedInterval = setInterval(fadeMC, hastighed, aktivMC);
}
   
function fadeMC(mcNr:Number) {
    clearInterval(billedInterval);
    _root.mc1.onEnterFrame = function() {
        if(eval("mc" + mcNr)._alpha > 1) {
            eval("mc" + mcNr)._alpha -= 3;
        }
        else {
            if(mcNr <= (antalMCer)) {
                aktivMC++;
                nytInterval();
            }
            else {
                for(x=1;x<=antalMCer;x++) {
                    eval("mc" + x)._alpha = 100;
                }
                mc1.swapDepths(eval("mc" + antalMCer));
                aktivMC = 1;
                nytInterval();
                }
        }
    }
    }
Avatar billede jacobs1 Nybegynder
20. juni 2004 - 17:34 #6
Hej _K, jeg kan kan virkelig ikke få det til at virke, det er nok mig der er en totalt idiot. jeg ved godt du har hjælpet så meget indtil videre, men det kunne bare være så fedt at få det til at virke. :)

Så hvis jeg kan logge dig til at se på det sidste gang, jeg har lagt .fla ud på http://www.tuna.dk/biler/ som du kan hente. Scriptet ligger i _root frame 3

Jeg vil også gerne give dig nogle flere point og så er der selvfølgelig en masse karma til dig :)

ps. Det er også forståligt hvis du ikke har lyst. Det kunne bare være fedt :)

på forhånd tak Morten
Avatar billede jacobs1 Nybegynder
20. juni 2004 - 17:37 #7
pss. den røde bil bliver slet ikke vist nu :(
Avatar billede _k Nybegynder
20. juni 2004 - 19:42 #8
Problemet er måden du loader ind på, samt de instancenavne du giver bilernes mc'er.

Lav linjen:
mc = _root.createEmptyMovieClip(["mc"+i], i+1);
om til:
mc = _root.createEmptyMovieClip(["mc"+i], 200 - i);

Og så har jeg skruet lidt på scriptet, så det starter med mc "mc0" i stedet for "mc1".

var antalMCer:Number = 3;
var hastighed:Number = 1000; // Målt i milisekunder
var billedInterval;
var aktivMC:Number = 0;

nytInterval();
function nytInterval() {
    delete _root.mc1.onEnterFrame;
    if(aktivMC == antalMCer) {
        mc0.swapDepths(eval("mc" + antalMCer));
        mc0._alpha = 100;
    }
    billedInterval = setInterval(fadeMC, hastighed, aktivMC);
}
   
function fadeMC(mcNr:Number) {
    clearInterval(billedInterval);
    _root.mc1.onEnterFrame = function() {
        if(eval("mc" + mcNr)._alpha > 1) {
            eval("mc" + mcNr)._alpha -= 3;
            //trace(mcNr)
        }
        else {
            if(mcNr <= (antalMCer)) {
                aktivMC++;
                nytInterval();
            }
            else {
                for(x=0;x<=antalMCer;x++) {
                    eval("mc" + x)._alpha = 100;
                }
                mc0.swapDepths(eval("mc" + antalMCer));
                aktivMC = 0;
                nytInterval();
                }
        }
    }
    }

(og fjern så forresten også scriptet inde fra dit "loaderVars" mc.)

Kewl nok med karma. Flere point kan du gi' mig en anden go' gang ;o)
Avatar billede jacobs1 Nybegynder
20. juni 2004 - 21:42 #9
hvor er det fedt :) nu virker det perfekt! du er er alt for sej.. jeg giver lige karma senere, er godt igang med fodboldkampen..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester