Avatar billede the_timster Nybegynder
24. august 2001 - 14:54 Der er 21 kommentarer og
1 løsning

Konkatanisering af variabel


Jeg har et problem:

i = 1;
x1 = 100;
y1 = 100;
duplicateMovieClip (\"_root.ball\", \"u\"+i, 100+i);
setProperty (\"_root.u\"+i, _x, \"x\"+i);
setProperty (\"_root.u\"+i, _y, \"y\"+i);
----

I:
setProperty (\"_root.u\"+i, _y, \"y\"+i);
vil jeg gerne sætte y-positionen til værdien af variablen y1 (Altså 100), men dette virker ikke.

Pointen er at jeg kommer til at at få mange variabler ind(x1,x2,x3...), og skal køre det igennem en for-løkke.

Jeg ikke om man kan konkatanisere sig frem til et variabel navn på den måde...

Timster.
Avatar billede mgk2 Nybegynder
24. august 2001 - 15:03 #1
Sluk for programmet og tænd for det igen. Og så i ørigt så stop det pis og få dig en ordentlig hobby.
Avatar billede the_timster Nybegynder
24. august 2001 - 15:07 #2
>mgk2

aha... Ja, det kunne jeg da prøve... *ahem*
Skulle jeg måske begynde at spille fodbold?

Er der ingen der har et seriøst bud? :)

Timster.
Avatar billede nikolajdu Nybegynder
24. august 2001 - 15:22 #3
hvad med

_root[\"u\"+i]._x=(x+i);
Avatar billede mgk2 Nybegynder
24. august 2001 - 15:24 #4
Jeg havde tænkt på noget i retningen af cmputerspil med vennerne, men du ved måske ikke hvad venner er? Det tænkte jeg nok.
Avatar billede the_timster Nybegynder
24. august 2001 - 15:27 #5
Nikolajdu>
Tak... virker ikke lige umiddelbart...
Kigger lige på det..

mgk2>
Sjovt du siger det..
Sider faktiskt og laver det her med mine venner..

Det ser nu heller ikke ud til at du har meget tid til dine \"venner\" med alle de tosse-poster du skriver her på eksperten...

Avatar billede nikolajdu Nybegynder
24. august 2001 - 15:28 #6
eller måske

setProperty (\"_root.u\"+i, _x, (x+i));
Avatar billede nikolajdu Nybegynder
24. august 2001 - 15:31 #7
for (i=1; i<5; i++) {
    duplicateMovieClip (\"u\", \"u\"+i, i);
    _root[\"u\"+i].navn = i;
    if (i != 1) {
        _root[\"u\"+i]._y = _root[\"u\"+(i-1)]._y+_root[\"u\"+(i-1)]._height;
    }
}

Så kan du måske selv regne _x ud :-)

/Nikolaj
Avatar billede nikolajdu Nybegynder
24. august 2001 - 15:32 #8
Ups

for (i=1; i<5; i++) {
    duplicateMovieClip (\"u\", \"u\"+i, i);
    if (i != 1) {
        _root[\"u\"+i]._y = _root[\"u\"+(i-1)]._y+_root[\"u\"+(i-1)]._height;
    }
}
Avatar billede the_timster Nybegynder
24. august 2001 - 15:44 #9
Nikolajdu>

Tak for dit ihærdige forsøg, men bliver mc\'ets y-position ikke bare lig dens højde nu?

Den x1 variabel, henter jeg med loadvariabels, og dette skal være en form for initialisering af objekterne på scenen.
Avatar billede nikolajdu Nybegynder
24. august 2001 - 15:48 #10
Det var såmænd heller ikke for at lave det for dig. Det var mere for at vise stilen man gør det i.

Anyway har jeg selv og til problemer med at få loadvariables til ikke at være strenge. Prøv at trace dine variabler og fortæl mig lige om det er tal eller strenge.
Avatar billede the_timster Nybegynder
24. august 2001 - 15:54 #11
Well, indtil nu loader jeg jo ingenting, det er derfor jeg har \"hårdkodet\" variablerne i begyndelsen af mit eksempel:
i = 1;
x1 = 100;
y1 = 100;

(Bare for at få det til at virke, inden jeg begynder at loade og smidder det ind i en for-løkke)

Avatar billede nikolajdu Nybegynder
24. august 2001 - 16:07 #12
Det her virker da fint=???

i = 1;
x1 = 100;
x2 = 150;
x3 = 200;
x4 = 250;
x5 = 300;
y1 = 100;
y2 = 150;
y3 = 200;
y4 = 250;
y5 = 300;
for (i=1; i<5; i++) {
    duplicateMovieClip (\"u\", \"u\"+i, i);
    _root[\"u\"+i]._y = _root[\"y\"+i];
    _root[\"u\"+i]._x = _root[\"x\"+i];
}
setProperty (\"_root.u\", _visible, \"0\");

Til sidste gøres det oprindelige movieClip usynligt.

/Nikolaj
Avatar billede the_timster Nybegynder
24. august 2001 - 16:20 #13
Klart...
Du er en helt...
Avatar billede nikolajdu Nybegynder
24. august 2001 - 16:22 #14
Helt?? Tøffelhelt?
Avatar billede hoejrup Nybegynder
24. august 2001 - 16:23 #15
y1 = 100;
for (i=1; i<5; i++) {
  _root.ball.duplicateMovieClip (\"u\"+i, 100+i);
  x1 = x1 + i;
  _root[\"u\"+i]._x = x1;
  _root[\"u\"+i]._y = y1;
}


/per
Avatar billede lingoman Nybegynder
26. august 2001 - 13:00 #16
Han kan sgu\' sit kram hva\', ham Nikolaj :)
Avatar billede nikolajdu Nybegynder
26. august 2001 - 13:08 #17
Geo tak :-)

Faktisk kan jeg nu bedre li´ den her løsning.

x = new Array(0, 50, 100, 150, 200);
y = new Array(0, 50, 100, 150, 200);
for (i=1; i<x.length; i++) {
    _root.u.duplicateMovieClip(\"u\"+i, i);
    _root[\"u\"+i]._y = y[i];
    _root[\"u\"+i]._x = x[i];
}
_root.u._visible = false;

Fuldstændigt det samme som ovenstående, bare lidt kortere...
Avatar billede lingoman Nybegynder
26. august 2001 - 13:16 #18
Du er bare for meget :) LOL
Avatar billede nikolajdu Nybegynder
07. september 2001 - 12:30 #19
Timster har du fået det til at virke??
Avatar billede lingoman Nybegynder
12. september 2001 - 19:16 #20
Hvorfor svarer du ikke, Timster ???
Avatar billede the_timster Nybegynder
13. september 2001 - 10:15 #21

Sorry, har været AFK et stykke tid :)

Tak for dit grundige svar, Nikolajdu...

Timster.


Avatar billede nikolajdu Nybegynder
13. september 2001 - 17:15 #22
No problemos :-)
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

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