Avatar billede powerduck Nybegynder
17. april 2004 - 10:29 Der er 6 kommentarer

Skift MC på scenen med et mc fra library

Jeg har en række movieclips på min scene. Alle disse movieclips er nummererede med et instancename. Jeg kan ikke umiddelbart oprette dem dynamisk via script da placeringen skal være håndholdt.

Det jeg gerne vil er at erstatte et mc 'kasse' på scenen med et mc fra library 'kasse_aaben'.

'kasse' er angivet i instancename og 'kasse_aaben' er angivet i linkage name.

Mit forsøg ser sådan ud:
function ChangeObject (objectId, state) {
    trace("object: " + objectId + " state: " + state);
    _root.attachMovie(objectId + state, objectId, 100);
}

Når jeg kalder denne funktion fra en knap oprettes der et nyt clip i øverste venstre hjørne (og dette kan så erstattes når man ændrer state og trykker på knappen.

Hvad gør jeg galt?
Avatar billede kragekjaer Praktikant
17. april 2004 - 11:15 #1
Det er fordi du skriver _root.attachMovie

Så attacher den jo til _root
Avatar billede powerduck Nybegynder
17. april 2004 - 11:53 #2
jamen... ligger den ikke på _root hvis jeg har placeret et mc direkte på scenen?
Avatar billede powerduck Nybegynder
17. april 2004 - 11:58 #3
hmm nej det virker ikke. Jeg mistænker at det er noget med linkage navn og instance navn jeg gør forkert

det mc på scenen har instance navn "320" - det er lavet ud fra et labrary clip med identifyer name = "320"

og jeg vil gerne erstatte "320" på scenen med et library clip med indentifyer name = "320_over"
Avatar billede _k Nybegynder
17. april 2004 - 14:13 #4
Jeg er ikke helt med på hvad det er der ikke virker som det skal? Vil du have fjernet dit gamle mc? Eller vil du placere det nye attach'ede mc ovenpå det gamles plads?

..du kan erstatte det, ved at overskrive det oprindelige mc's dybde med den dybde du attacher. Så du skal finde dybden på det mc du vil have erstattet og bruge den oplysning i din attachMovieClip.
En anden metode er at placere det nye mc rigtigt på _x og _y-aksen, og derefter fjerne det gamle med enten removeMovieClip eller _visible = false (hvis det skal tilbage igen)
Avatar billede kragekjaer Praktikant
17. april 2004 - 22:08 #5
Som jeg skrev, du attacher det til _root og ikke et mc, hvilket af det forstår du ikke? Og lad vær at kalde dine mc´s tal-navne, din function skal så se sådan ud:

function ChangeObject (objectId, state) {
    trace("object: " + objectId + " state: " + state);
    _root.objectId.attachMovie(objectId + state, newName, 100);
}
Avatar billede kragekjaer Praktikant
17. april 2004 - 22:09 #6
eller som k siger find dybden af det mc der skal skiftes ud og brug den dybde ved acttachMovie
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel