Avatar billede trick Nybegynder
20. februar 2003 - 10:19 Der er 6 kommentarer og
1 løsning

Set visible på movieclips med variabler og en do while løkke???

Jeg sidder og roder lidt med en lille drag and drop ting (et hoved jeg vil give hat på).
Jeg har 4 hatte at vælge i mellem dem bladre jeg så det kun er en hat afgangen der er synlig, med mindre man har placeret en hat på hoved, så skal denne naturligvis være synlig hele tiden.
Mit problem er så følgende…
Jeg vil gerne ved hjælp af en funktion kunne styre hvilken, hatte der er synlige ved hjælp af en løkke, men kan ikke få det til at virke, her er min kode (sikkert fyldt med fejl da jeg ikke er for stærk i ActionScript)

Funktionen:

funktion(hatten);
vis = 1;
vises = "hat"+nr;
    do{
    hvilken = "hat"+vis;
    if (_root.hvilken == "ja"){
        hvilken._visible = true;
    }else{
        hvilken._visible = false;
        vis++;
        }
    }
    while(vis<5);
    vises._visible = true;

Knappen:

on(press){
    _root.nr++;
    if (_root.nr == 5){
    _root.nr = 1;
    }
    hatten(_root.nr);
    gotoAndStop("l"+_root.nr);
}

Hatte koden:

on(press){
    this.startDrag();
}
on(release, releaseOutside){
    this.stopDrag();
    if(this.hitTest(_root.ph)){
        _root.x4 = 360;
        _root.y4 = -400;
        this._x = _root.x4;
        this._y = _root.y4;
        _root.h1 = "ja";
        _root.h2 = "nej";
        _root.h3 = "nej";
        _root.h4 = "nej";
                hatten(_root.nr);

    }
}

Håber at der er nogle der kan hjælpe mig lidt…
Hordan kan f.eks. sætte et movieclip til visible ved hjælp af en variable..?
Dem jeg har her virker ikke –
”hat”+vis._visible = true;
hvilken._visible = true; (movieclipet hedder hat1, hat2, hat3, hat4…)


På forhånd tak
trick ;o)
Avatar billede hoejrup Nybegynder
20. februar 2003 - 10:37 #1
_root.["hat" + i]._visible = true;

Du huske at angive et movieclip instance navn på dine mc.

/per
Avatar billede mat Nybegynder
20. februar 2003 - 11:48 #2
..du skal osse huske at fjerne det første punktum i hoejrups svar ;)
Avatar billede trick Nybegynder
20. februar 2003 - 13:02 #3
Jeg siger mange tak, men har dog et lille problem med placeringen og viseble, nogle der lige kan se hvad jeg gør galt?

Start kode:

_root.x1 = 0;
_root.y1 = 0;
_root.x2 = 0;
_root.y2 = 0;
_root.x3 = 0;
_root.y3 = 0;
_root.x4 = 0;
_root.y4 = 0;
_root.h1 = "nej"
_root.h2 = "nej"
_root.h3 = "nej"
_root.h4 = "nej"
hat1._x = _root.x1;
hat1._y = _root.y1;
hat1._visible = true;
hat2._visible = false;
hat3._visible = false;
hat4._visible = false;
_root.nr = 1;

function hatten(){
trace(_root.h1);
trace(_root.h2);
trace(_root.h3);
trace(_root.h4);
vis = 1;
    do{
    if (_root["h"+vis] == "ja"){
        ["hat"+vis]._visible = true;
    }
    if (_root["h"+vis] == "nej"){
        ["hat"+vis]._visible = false;
        ["hat"+vis]._x = _root["x"+vis];
        ["hat"+vis]._y = _root["y"+vis];
        }
    vis++;
    }
    while(vis<5);
    ["hat"+nr]._visible = true;
}

hatte koden:

on(press){
    this.startDrag();
}
on(release, releaseOutside){
    this.stopDrag();
    if(this.hitTest(_root.ph)){
        _root.x1 = 360;
        _root.y1 = -400;
        this._x = _root.x1;
        this._y = _root.y1;
        _root.h1 = "ja";
        _root.h2 = "nej";
        _root.h3 = "nej";
        _root.h4 = "nej";
        }else{
        _root.x1 = 0;
        _root.y1 = 0;
        this._x = _root.x1;
        this._y = _root.y1;
        _root.h1 = "nej";
    }
    hatten();
}

(Her virker kaldet til min funktion ikke..!)

Knap koden:

on(press){
    _root.nr++;
    if (_root.nr == 5){
        _root.nr = 1;
    }
    hatten();
    gotoAndStop(["l"+_root.nr]);
}

(Sjovt nok virker kaldet til min funktion her..!)

trick ;o)
Avatar billede mat Nybegynder
20. februar 2003 - 13:19 #4
gir du en fil? :)
Avatar billede trick Nybegynder
20. februar 2003 - 13:58 #5
Gerne, har lige klippet det ud så det ikke flyder så meget, ligger på http://amazingerik.dk/hatte_ting.fla

trick ;o)
Avatar billede trick Nybegynder
20. februar 2003 - 15:09 #6
Nice..!
Så kom løsningen, man kan ikke der manglede et "this"
f.eks.
if (_root["h"+vis] == "nej"){
        this["hat"+vis]._visible = false;
        this["hat"+vis]._x = _root["x"+vis];
        this["hat"+vis]._y = _root["y"+vis];
        }

Nu har jeg jo fået lidt hjælp, hvem vil gerne tildeles nogle points?
Avatar billede trick Nybegynder
08. juli 2003 - 12:40 #7
Kan ikke blive ved med at haver det her åben... hvis en af jer vil have jeres points så fang mig lige...
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