Avatar billede jakwag Nybegynder
21. august 2003 - 15:14 Der er 12 kommentarer og
1 løsning

den sidste knaps x

Hej

Hvordan for det her til at virke?

knap1_mc.onRelease = function(){
    this[last_punkt]._x+=10;
    last_punkt = this;
}
knap2_mc.onRelease = function(){
    this[last_punkt]._x+=10;
    last_punkt = this;
}

Når man trykker på den ene knap skal den der sidst blev trykket på have +10 i x.

: ) Jakob
Avatar billede mat Nybegynder
21. august 2003 - 15:25 #1
for (i = 1; i <= 4; i++) {
    this["clip" + i].onRelease = function() {
        _root["last_pushed"]._x += 10;
        last_pushed = this;
    }
}

???
Avatar billede jakwag Nybegynder
21. august 2003 - 15:40 #2
Det virker det ene sted og ikke det andet?!?

Det her virker ikke:

this._parent[theText+"_mc"].onRelease = function() {
    trace(this._parent[last_punkt]);
    // _level0
    trace(last_punkt);
    // _level0.hej igen_mc
    last_punkt = this;
};

Kan du se hvad der er galt?

Jeg synes at det er underligt når trace(last_punkt); giver _level0.hej igen_mc at trace(this._parent[last_punkt]); så giver _level0.
Avatar billede jakwag Nybegynder
21. august 2003 - 15:51 #3
hhhmm...

Problemmet er at

trace(this._parent["clip_mc"]);
giver det rigtige resultat

men
trace(this._parent["_level0.clip_mc"]);
giver _level0

og derfor kan jeg ikke bruge variablen last_punkt da den netop er "_level0.clip_mc"

Nogen ideer?
Avatar billede mat Nybegynder
21. august 2003 - 15:54 #4
for (i = 1; i <= 4; i++) {
    this["clip" + i].onRelease = function() {
        this._parent[last_pushed]._x += 10;
        last_pushed = this._name;
    }
}

måske?
Avatar billede barklund Nybegynder
21. august 2003 - 20:50 #5
Således:

last_punkt = null;
knap1_mc.onRelease = function(){
    last_punkt._x+=10;
    last_punkt = this;
}
knap2_mc.onRelease = function(){
    last_punkt._x+=10;
    last_punkt = this;
}
Avatar billede barklund Nybegynder
21. august 2003 - 20:51 #6
last_punkt er ikke "_level0.clip_mc" men derimod en reference til dit movieclip, som via det's toString()-metode konverteres til den omtalte streng i en trace eller tilsvarende...
Avatar billede jakwag Nybegynder
22. august 2003 - 10:41 #7
Barklund > once again - det ser ud til at virke, tak.
Avatar billede jakwag Nybegynder
22. august 2003 - 10:43 #8
Men mit rigtige script virker stadig ikke:

this._parent[theText+"_mc"].onRelease = function() {
    for (var obj in this) {
        if (this[obj] instanceof TextField) {
            var bold_fmt = this[obj].getTextFormat();
            bold_fmt.bold = true;
            this[obj].setTextFormat(bold_fmt);
            delete bold_fmt;
        }
    }
    for (var obj in last_punkt) {
        if (this[obj] instanceof TextField) {
            var notbold_fmt = this[obj].getTextFormat();
            notbold_fmt.bold = false;
            this[obj].setTextFormat(notbold_fmt);
            delete notbold_fmt;
        }
    }
    last_punkt = this;
};

Jeg bruger scriptet til at løbe igennem alle textfelter i et mc som man kan trykke på. Den man trykker på skal blive bold og den man før trykkede på skal blive "ikke bold".
Det virker kun første gang. Kan du se hvad der er galt?
Avatar billede jakwag Nybegynder
22. august 2003 - 10:44 #9
PS. der kan lynhurtigt blive svunget flere point over disken, hvis det er det det kommer an på : )
Avatar billede jakwag Nybegynder
22. august 2003 - 10:45 #10
scriptet er selvfølgelig en lille del af et stører script...
Avatar billede jakwag Nybegynder
22. august 2003 - 10:50 #11
nå, fejlen skal vidst findes et andet sted... Ellers tak.
Avatar billede jakwag Nybegynder
22. august 2003 - 10:52 #12
nej nej : |  Den er god nok. Det må være i den bid der er et problem.
Avatar billede jakwag Nybegynder
22. august 2003 - 11:04 #13
Og svaret er jo indlysende:

this._parent[theText+"_mc"].onRelease = function() {
    for (var obj in this) {
        if (this[obj] instanceof TextField) {
            var bold_fmt = this[obj].getTextFormat();
            bold_fmt.bold = true;
            this[obj].setTextFormat(bold_fmt);
            delete bold_fmt;
            trace("bold: "+this[obj].text);
        }
    }
    for (var obj in last_punkt) {
        if (last_punkt[obj] instanceof TextField) {
            var notbold_fmt = last_punkt[obj].getTextFormat();
            notbold_fmt.bold = false;
            last_punkt[obj].setTextFormat(notbold_fmt);
            delete notbold_fmt;
        }
    }
    last_punkt = this;
};

Det hjælper at snakke lidt med sig selv, når man er kørt fast ; )
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