Avatar billede lasse-b Nybegynder
04. november 2006 - 19:55 Der er 3 kommentarer og
1 løsning

Koden virker ikke - kan I hjælpe?

Hejsa.
Jeg har lavet en kode, der kort fortalt skal hhv. vise eller skjule en række markører afhængigt af en tilsvarende række variabler, der tidligere i swf´en er markeret true eller false.

Problemer et, at jeg som I kan se, ikke er skrap til action scripts. Koden virker sådan set, men der opstår nogle mærkelige, tilfældige udfald - hvor markeringerne enten ikke svarer overens med variablernes værdi - eller at alle markeringer fejlagtigt vises.
Gir det mening? Ellers hold fast, her kommer mit vrøvl:

"level12.prik1" er den variabel der ligger i en loadet swf og enten er markeret true eller false tidligere af brugeren.  Variablen "prik1" bestemmer således om moveiclippet "aprik1V" skal skjules eller vises. Og så fremdeles med de øvrige 68 markeringer. Dette system vises på skærmen og findes i et bagvedliggende MC der printes. Og det gir i min version som sagt fejl i ny og næ. Det kan med garanti kodes kortere? Og kan det være min fejlkilde? Hjælp!

/Lasse


onClipEvent (load) {
    if (_level12.prik1 == true) {
        setProperty("aprik1V", _visible, false);
    } else {
        setProperty("aprik1V", _visible, true);
    }
    if (_level12.prik2 == true) {
        setProperty("aprik2V", _visible, false);
    } else {
        setProperty("aprik2V", _visible, true);
    }
    if (_level12.prik3 == true) {
        setProperty("aprik3V", _visible, false);
    } else {
        setProperty("aprik3V", _visible, true);
    }
    if (_level12.prik4 == true) {
        setProperty("aprik4V", _visible, false);
    } else {
        setProperty("aprik4V", _visible, true);
    }
    if (_level12.prik5 == true) {
        setProperty("aprik5V", _visible, false);
    } else {
        setProperty("aprik5V", _visible, true);
    }
    if (_level12.prik6 == true) {
        setProperty("aprik6V", _visible, false);
    } else {
        setProperty("aprik6V", _visible, true);
    }
    if (_level12.prik7 == true) {
        setProperty("aprik7V", _visible, false);
    } else {
        setProperty("aprik7V", _visible, true);
    }
    if (_level12.prik8 == true) {
        setProperty("aprik8V", _visible, false);
    } else {
        setProperty("aprik8V", _visible, true);
    }
    if (_level12.prik9 == true) {
        setProperty("aprik9V", _visible, false);
    } else {
        setProperty("aprik9V", _visible, true);
    }
    if (_level12.prik10 == true) {
        setProperty("aprik10V", _visible, false);
    } else {
        setProperty("aprik10V", _visible, true);
    }
    if (_level12.prik11 == true) {
        setProperty("aprik11V", _visible, false);
    } else {
        setProperty("aprik11V", _visible, true);
    }
    if (_level12.prik12 == true) {
        setProperty("aprik12V", _visible, false);
    } else {
        setProperty("aprik12V", _visible, true);
    }
    if (_level12.prik13 == true) {
        setProperty("aprik13V", _visible, false);
    } else {
        setProperty("aprik13V", _visible, true);
    }
    if (_level12.prik14 == true) {
        setProperty("aprik14V", _visible, false);
    } else {
        setProperty("aprik14V", _visible, true);
    }
    if (_level12.prik15 == true) {
        setProperty("aprik15V", _visible, false);
    } else {
        setProperty("aprik15V", _visible, true);
    }
    if (_level12.prik16 == true) {
        setProperty("aprik16V", _visible, false);
    } else {
        setProperty("aprik16V", _visible, true);
    }
    if (_level12.prik17 == true) {
        setProperty("aprik17V", _visible, false);
    } else {
        setProperty("aprik17V", _visible, true);
    }
    if (_level12.prik18 == true) {
        setProperty("aprik18V", _visible, false);
    } else {
        setProperty("aprik18V", _visible, true);
    }
    if (_level12.prik19 == true) {
        setProperty("aprik19V", _visible, false);
    } else {
        setProperty("aprik19V", _visible, true);
    }
    if (_level12.prik20 == true) {
        setProperty("aprik20V", _visible, false);
    } else {
        setProperty("aprik20V", _visible, true);
    }
    if (_level12.prik21 == true) {
        setProperty("aprik21V", _visible, false);
    } else {
        setProperty("aprik21V", _visible, true);
    }
    if (_level12.prik22 == true) {
        setProperty("aprik22V", _visible, false);
    } else {
        setProperty("aprik22V", _visible, true);
    }
    if (_level12.prik23 == true) {
        setProperty("aprik23V", _visible, false);
    } else {
        setProperty("aprik23V", _visible, true);
    }
    if (_level12.prik24 == true) {
        setProperty("aprik24V", _visible, false);
    } else {
        setProperty("aprik24V", _visible, true);
    }
    if (_level12.prik25 == true) {
        setProperty("aprik25V", _visible, false);
    } else {
        setProperty("aprik25V", _visible, true);
    }
    if (_level12.prik26 == true) {
        setProperty("aprik26V", _visible, false);
    } else {
        setProperty("aprik26V", _visible, true);
    }
    if (_level12.prik27 == true) {
        setProperty("aprik27V", _visible, false);
    } else {
        setProperty("aprik27V", _visible, true);
    }
    if (_level12.prik28 == true) {
        setProperty("aprik28V", _visible, false);
    } else {
        setProperty("aprik28V", _visible, true);
    }
    if (_level12.prik29 == true) {
        setProperty("aprik29V", _visible, false);
    } else {
        setProperty("aprik29V", _visible, true);
    }
    if (_level12.prik30 == true) {
        setProperty("aprik30V", _visible, false);
    } else {
        setProperty("aprik30V", _visible, true);
    }
    if (_level12.prik31 == true) {
        setProperty("aprik31V", _visible, false);
    } else {
        setProperty("aprik31V", _visible, true);
    }
    if (_level12.prik32 == true) {
        setProperty("aprik32V", _visible, false);
    } else {
        setProperty("aprik32V", _visible, true);
    }
    if (_level12.prik33 == true) {
        setProperty("aprik33V", _visible, false);
    } else {
        setProperty("aprik33V", _visible, true);
    }
    if (_level12.prik34 == true) {
        setProperty("aprik34V", _visible, false);
    } else {
        setProperty("aprik34V", _visible, true);
    }
    if (_level12.prik35 == true) {
        setProperty("aprik35V", _visible, false);
    } else {
        setProperty("aprik35V", _visible, true);
    }
    if (_level12.prik36 == true) {
        setProperty("aprik36V", _visible, false);
    } else {
        setProperty("aprik36V", _visible, true);
    }
    if (_level12.prik37 == true) {
        setProperty("aprik37V", _visible, false);
    } else {
        setProperty("aprik37V", _visible, true);
    }
    if (_level12.prik38 == true) {
        setProperty("aprik38V", _visible, false);
    } else {
        setProperty("aprik38V", _visible, true);
    }
    if (_level12.prik39 == true) {
        setProperty("aprik39V", _visible, false);
    } else {
        setProperty("aprik39V", _visible, true);
    }
    if (_level12.prik40 == true) {
        setProperty("aprik40V", _visible, false);
    } else {
        setProperty("aprik40V", _visible, true);
    }
    if (_level12.prik41 == true) {
        setProperty("aprik41V", _visible, false);
    } else {
        setProperty("aprik41V", _visible, true);
    }
    if (_level12.prik42 == true) {
        setProperty("aprik42V", _visible, false);
    } else {
        setProperty("aprik42V", _visible, true);
    }
    if (_level12.prik43 == true) {
        setProperty("aprik43V", _visible, false);
    } else {
        setProperty("aprik43V", _visible, true);
    }
    if (_level12.prik44 == true) {
        setProperty("aprik44V", _visible, false);
    } else {
        setProperty("aprik44V", _visible, true);
    }
    if (_level12.prik45 == true) {
        setProperty("aprik45V", _visible, false);
    } else {
        setProperty("aprik45V", _visible, true);
    }
    if (_level12.prik46 == true) {
        setProperty("aprik46V", _visible, false);
    } else {
        setProperty("aprik46V", _visible, true);
    }
    if (_level12.prik47 == true) {
        setProperty("aprik47V", _visible, false);
    } else {
        setProperty("aprik47V", _visible, true);
    }
    if (_level12.prik48 == true) {
        setProperty("aprik48V", _visible, false);
    } else {
        setProperty("aprik48V", _visible, true);
    }
    if (_level12.prik49 == true) {
        setProperty("aprik49V", _visible, false);
    } else {
        setProperty("aprik49V", _visible, true);
    }
    if (_level12.prik50 == true) {
        setProperty("aprik50V", _visible, false);
    } else {
        setProperty("aprik50V", _visible, true);
    }
    if (_level12.prik51 == true) {
        setProperty("aprik51V", _visible, false);
    } else {
        setProperty("aprik51V", _visible, true);
    }
    if (_level12.prik52 == true) {
        setProperty("aprik52V", _visible, false);
    } else {
        setProperty("aprik52V", _visible, true);
    }
    if (_level12.prik53 == true) {
        setProperty("aprik53V", _visible, false);
    } else {
        setProperty("aprik53V", _visible, true);
    }
    if (_level12.prik54 == true) {
        setProperty("aprik54V", _visible, false);
    } else {
        setProperty("aprik54V", _visible, true);
    }
    if (_level12.prik55 == true) {
        setProperty("aprik55V", _visible, false);
    } else {
        setProperty("aprik55V", _visible, true);
    }
    if (_level12.prik56 == true) {
        setProperty("aprik56V", _visible, false);
    } else {
        setProperty("aprik56V", _visible, true);
    }
    if (_level12.prik57 == true) {
        setProperty("aprik57V", _visible, false);
    } else {
        setProperty("aprik57V", _visible, true);
    }
    if (_level12.prik58 == true) {
        setProperty("aprik58V", _visible, false);
    } else {
        setProperty("aprik58V", _visible, true);
    }
    if (_level12.prik59 == true) {
        setProperty("aprik59V", _visible, false);
    } else {
        setProperty("aprik59V", _visible, true);
    }
    if (_level12.prik60 == true) {
        setProperty("aprik60V", _visible, false);
    } else {
        setProperty("aprik60V", _visible, true);
    }
    if (_level12.prik61 == true) {
        setProperty("aprik61V", _visible, false);
    } else {
        setProperty("aprik61V", _visible, true);
    }
    if (_level12.prik62 == true) {
        setProperty("aprik62V", _visible, false);
    } else {
        setProperty("aprik62V", _visible, true);
    }
    if (_level12.prik63 == true) {
        setProperty("aprik63V", _visible, false);
    } else {
        setProperty("aprik63V", _visible, true);
    }
    if (_level12.prik64 == true) {
        setProperty("aprik64V", _visible, false);
    } else {
        setProperty("aprik64V", _visible, true);
    }
    if (_level12.prik65 == true) {
        setProperty("aprik65V", _visible, false);
    } else {
        setProperty("aprik65V", _visible, true);
    }
    if (_level12.prik66 == true) {
        setProperty("aprik66V", _visible, false);
    } else {
        setProperty("aprik66V", _visible, true);
    }
    if (_level12.prik67 == true) {
        setProperty("aprik67V", _visible, false);
    } else {
        setProperty("aprik67V", _visible, true);
    }
    if (_level12.prik68 == true) {
        setProperty("aprik68V", _visible, false);
    } else {
        setProperty("aprik68V", _visible, true);
    }
}
Avatar billede mat Nybegynder
04. november 2006 - 20:07 #1
løkker mand, løkker ;)

for ( var i = 1; i < 69; i++ ) {
    if (_level12["prik" + i] == true) {
        this["aprik" + i +"V"]._visible = false;
    } else {
        this["aprik" + i +"V"]._visible = true;
    }
}

..burde gøre det samme som din kode. Men om det er relateret til din fejl ved jeg ikke.

mvh mat
Avatar billede coderdk Praktikant
04. november 2006 - 20:21 #2
Og kortere endnu:

for ( var i = 1; i < 69; i++ ) {
    this["aprik" + i +"V"]._visible = !_level12["prik" + i];
}

Såfremt at ! er en "not" altså negering ;)
Avatar billede lasse-b Nybegynder
08. november 2006 - 14:31 #3
ja, jeg tænkte jo nok, der var en smartere løsning end min amatørstreg. Håber det løser problemet...
Hvad siger I til at deles om et svar?
Avatar billede coderdk Praktikant
08. november 2006 - 14:53 #4
Det har jeg intet problem med :) Du må godt give mat hovedparten af pointene :)
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