Avatar billede kalleballe Nybegynder
09. september 2004 - 10:41 Der er 7 kommentarer og
1 løsning

2 klasser skal snakke sammen

Hej, - jeg har et problem med at få 2 klasser til at 'tale' sammen.

Klasse 1 laver 1 mc.
Klasse 2 laver et antal mc's.

Mc i klasse 1 kan bevæge sig oven på mc's i klasse 2.

Jeg vil så gerne fortælle mc i klasse 1 hvilke x koordinater som de forskellige mc's i klasse 2 har, - altså når mc fra klasse 1 er over, - dvs. hvis mc fra klasse 1 er over det 3. mc fra klasse 2 så er det denne mc3._x jeg gerne vil have mc fra klasse 1 til at forstå :)


I det jeg danner min mcs fra klasse 2 så kan jeg godt opsamle de forskellige x værdier.

vh
KalleBalle
Avatar billede barklund Nybegynder
09. september 2004 - 11:06 #1
Du skal have en reference fra den en instans af klasse 1 til en instans af klasse 2 - med mindre det altså er statiske metoder, vi snakker om. For eksempel kan du have en manager klasse, som begge underklasse har en reference til og manageren har så en reference til hver af underklasserne - så kan de kommunikere igennem den.
Avatar billede kalleballe Nybegynder
09. september 2004 - 12:33 #2
Okay så hvis jeg laver min manager klasse og lader den extende MovieClip klassen som mine 2 andre klasser egentlig gør, - så lader jeg dem extende manager klassen, - altså:

class Managerclass extends MovieClip {
blabla
}

class klasse1 extends Managerclass{
blabla
}

class klasse2 extends Managerclass{
blabla
}

jeg har jo nemlig brug for at arve fra MovieClip klassen og man kan jo ikke arve fra 2 klasse på samme tid.

Det er ikke statiske metoder vi snakker om.

Hvordan refererer jeg så fra manageren til de 2 underklasser?
Avatar billede barklund Nybegynder
09. september 2004 - 14:09 #3
Nejnej, ikke extende manageren, men blot refere til den:

class Managerclass {
    klasse1 nummer1;
    klasse2 nummer2;

blabla
}

class klasse1 extends MovieClip {
    Managerclass manager;
    function klasse2(Managerclass:manager) {
        this.manager = manager;
        this.manager.nummer1 = this;
    }
}

class klasse2 extends MovieClip {
    Managerclass manager;
    function klasse2(Managerclass:manager) {
        this.manager = manager;
        this.manager.nummer2 = this;
    } 
}

Og så laver du din manager og derefter dine underklasser:

var foo = new Managerclass();
var a = new klasse1(foo);
var b = new klasse2(foo);

Så kan klasserne kommunikere med hinanden gennem hver deres manager reference og nummer1/nummer2.

Eller noget i den stil ;)

--
Morten Barklund
Avatar billede kalleballe Nybegynder
09. september 2004 - 14:59 #4
nå ja, - taks..
Avatar billede kalleballe Nybegynder
29. september 2004 - 10:04 #5
du fik vist aldrig dine points!
Avatar billede barklund Nybegynder
29. september 2004 - 13:50 #6
Jamen så smider jeg et svar :)
Avatar billede kalleballe Nybegynder
29. september 2004 - 21:39 #7
super!
Avatar billede barklund Nybegynder
30. september 2004 - 12:43 #8
Og tak igen ;)
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