Avatar billede sunstream Nybegynder
29. januar 2004 - 19:00 Der er 12 kommentarer og
1 løsning

Är objects globala ?

Hej !

ett litet kort exempel på koden till att börja med:

på _root:
function byggWorld (maxx, maxz) {
    world = new Object();
        world.path = this.floor
        var path = world.path
etc.
etc.
etc.

    byggChar(path);
}

function byggChar (path) {
    world.character = new Object();
    world.character.speedFaktor = 8;
    world.character.facing = 3;
    world.character.walkmode = 0;
    world.character.clip = path.character;
}


När jag så vill ändra på "world.character.walkmode" inne från mitt "world.character.clip_MC", så får jag undefined...antagligen för att jag fortfarande skall bruge "_root eller _parent" för att referera till mitt objekt...

Men skulle inte användningen av objekt göra så att jag inte behöver använda någon "_root eller _parent" ??

Eller är det mig som har förstått allt fel ??

input input !! snälla ! :o)
Avatar billede mat Nybegynder
29. januar 2004 - 20:19 #1
Det virker rimelig logisk for mig. Du opretter et instans af Object og dette knyttes til den timeline hvorpå det er oprettet. Du kan evt globalisere variablen med: _global.world

Men fordi Object er toppen af klassehierakiet gør vel ikke nødvendigvis instanser af denne til globale, hvis den er den vinkel du har taget?

..men be warned, jeg har en tendens til at tage fejl i disse dage :P

mvh mat
Avatar billede nikolajdu Nybegynder
29. januar 2004 - 20:26 #2
function byggChar (path) {
    this.speedFaktor = 8;
    this.facing = 3;
    this.walkmode = 0;
    this.clip = this.path;
}
c = new byggChar("hejdu");

trace(c.speedFaktor+" "+c.clip);

I din anden funktion bruger du :

this.floor // floor runder ned til nærmeste heltal og det er vel ikke det du vil med en sti ;-)
Avatar billede mat Nybegynder
29. januar 2004 - 20:52 #3
nikolaj > floor er da en metode på Math objektet (som faktisk er globalt :) og du kan vel egentlig godt bruge "floor" som variabelnavn?

mvh mat
Avatar billede nikolajdu Nybegynder
29. januar 2004 - 20:55 #4
Jo men jeg går ud fra path er movieclippet eller stien hertil og det giver ingen mening at forsøge at runde _root.mitClip ned :)
Avatar billede sunstream Nybegynder
29. januar 2004 - 22:54 #5
this.floor är stien till det MC som allt ligger i på _root... :o) har lagt d i ett mC så att jag inte har för mycket rod på scenen :o) heh !
Avatar billede barklund Nybegynder
30. januar 2004 - 01:07 #6
Mat har helt ret i sit oprindelige indlæg. Object er blot en klasse du kan instantiere i en variabel - ligesom Number, String eller Array.

Vil du have en global variabel (som tilfældigvis er en instans af Object-klassen) skal du skrive:

_global.world = new Object();

Ellers har det ingen effekt.

nikolajdu >>

I denne situation sætningen:

world.path = this.floor;

Bliver world.path blot en reference til det samme som this.floor - og med mindre det er en metode på Math--objektet som eksekveres (og det er det bestemt ikke) har this.floor INTET med Math.floor at gøre - det er i dette tilfælde et movieclip på scenen, der hedder "floor" :)

// Barklund
Avatar billede nikolajdu Nybegynder
30. januar 2004 - 02:23 #7
Barklund tak :))
Avatar billede sunstream Nybegynder
30. januar 2004 - 13:15 #8
så har jag fått svar på det....nu är d ju lite svårt att säga vem som ska ha pointsen, men mat's första kommentar löste det mht. att använda _global på variabeln till objektet...så Mat !! ge mig ett "svar" :o)

Tack för hjälpen :o)

...//Fredrik
Avatar billede mat Nybegynder
31. januar 2004 - 13:23 #9
vi kan jo altid dele :)
Avatar billede barklund Nybegynder
31. januar 2004 - 16:01 #10
Jeg lægger gerne et svar til en lille bitte sjat penge ;)
Avatar billede mat Nybegynder
04. marts 2004 - 23:27 #11
hov, jeg havde ikke lige set den her. Morten vil du have en slat her så sig lige til :)
Avatar billede barklund Nybegynder
04. marts 2004 - 23:53 #12
Nevermind ;)
Avatar billede mat Nybegynder
05. marts 2004 - 08:24 #13
så ka du bare blive fri ;)
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