Avatar billede kennedk Nybegynder
27. juli 2006 - 19:50 Der er 5 kommentarer og
1 løsning

problemer med mc

jeg har et action script:

createEmptyMovieClip("buttonClip",10);
with(buttonClip)
{
loadMovie("billeder/1.jpg", buttonClip);
}

det virker fint, men hvis jeg sætter disse koder ind i with() så virker den ikke mere:
    _root.buttonClip._width = 100;
    _root.buttonClip._height = 100;

Jeg vil gerne have, at man skal kunne sætte højden og bredden.

hvis jeg går ind og laver et nyt symbol, et mc, og sætter billedet ind i det mc, og sætter højden og bredden med with() så virker det.

Kan nogen hjælpe?
Avatar billede tribalroots Nybegynder
27. juli 2006 - 22:42 #1
Prøv med:

setProperty(_root.buttonClip, _width, 100);
setProperty(_root.buttonClip, _height, 100);
Avatar billede thulstrup Nybegynder
27. juli 2006 - 23:10 #2
Problemet er at du sætter bredden og højden inden billedet er loadet ind. Du skal bruge en preloader til at checke hvornår billedet er loadet og først derefter sætte bredde og højde.
Avatar billede kennedk Nybegynder
28. juli 2006 - 10:23 #3
createEmptyMovieClip(knap1,1);
with(knap1)
{
loadMovie("billeder/1.jpg")
}
setProperty(_root.knap1, _width, 100);
setProperty(_root.knap1, _height, 50);

når jeg skriver de to sidste linier så forsvinder billedet helt.
hvad er der gjort forkert?
Avatar billede thulstrup Nybegynder
28. juli 2006 - 10:38 #4
setProperty funktionen er et levn fra Flash 4 tiden. Jeg vil ikke anbefale at bruge den.

Her er et eksempel på hvordan du loader et billede og derefter resizer det:

var knap:MovieClip = createEmptyMovieClip("knap_mc", 1);
knap.loadMovie("billede.jpg");
this.onEnterFrame = function() {
    trace("loading");
    if (knap.getBytesLoaded() == knap.getBytesTotal() && knap.getBytesLoaded()>10) {
        trace("done loading");
        knap._width = 100;
        knap._height = 100;
        delete this.onEnterFrame;
    }
};
Avatar billede kennedk Nybegynder
28. juli 2006 - 11:05 #5
tak. men jeg forstår ikke hvorfor du skal have && knap.getBytesLoaded()>10 på før den virker?
Avatar billede thulstrup Nybegynder
28. juli 2006 - 11:43 #6
Hov, det skulle egentlig også have været knap.getBytesTotal>10 :o)

Først gang onEnterFrame funktionen kører vil getBytesLoaded være 0 og det samme vil getBytesTotal, men billedet er jo ikke loadet endnu. For at omgå det problem, checker vi at getBytesTotal er større end 10 bytes, før vi godtaget at billedet er færdigt loadet.

Prøv selv at teste det:
var knap:MovieClip = createEmptyMovieClip("knap_mc", 1);
knap.loadMovie("billede.jpg");
this.onEnterFrame = function() {
    trace("loading: "+knap.getBytesLoaded()+" af "+knap.getBytesTotal());
    if (knap.getBytesLoaded() == knap.getBytesTotal() && knap.getBytesTotal()>10) {
        trace("done loading");
        knap._width = 100;
        knap._height = 100;
        delete this.onEnterFrame;
    }
};
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