Toon posts:

Flash - createEmptyMovieClip :: Target layer kiezen ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vaak als ik met flash bezig ben, heb ik altijd dezelfde problemen die ik dan meestal met vrij omslachtige methodes probeer te omzeilen. Zo heb ik meestal een tiental layers, en ben ik gewend dat de bovenste layer alle "actions" bevat. Soms wil ik dan in layer nummer 3 een nieuwe movieclip aanmaken, maar flash stopt de nieuwe emtpyMovieClip kennelijk altijd "on top".

Is het mogelijk om de layer te kiezen waarin ik een nieuwe movieclip wil aanmaken?

En nu we het er toch over hebben, heeft dat wat met de depth te maken?
my_mc.createEmptyMovieClip(instanceName, depth)

En wat zijn precies die levels? Waar is _level0 precies? Wat kan ik ermee??

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 11:09
Ben je bekend met CSS? 't Is een soort z-index. :)

Motor (of auto) onderhoud bijhouden


Verwijderd

Topicstarter
Jawel, als ik met css div1 een z-index van 0 geef, en div2 een z-index van 1 geef, dan zal div2 zich boven div1 bevinden (of omgekeerd)...

Goed, ik begrijp hieruit dat dit in flash ook zo werkt, maar depth's zullen waarschijnlijk alleen werken op dezelfde layer, right?

Ben nog steeds benieuwd of ik een soort target layer kan bepalen bij het aanmaken van een nieuwe movieclip... Of is dat simpelweg niet mogelijk is?

[ Voor 6% gewijzigd door Verwijderd op 20-01-2004 11:20 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Waarom zou je een target-layer aan willen geven?

Je geeft een depth aan en vervolgens roep / stuur je het object aan via een naam (niet via een layer).

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

depths (levels) kun je zien als de 'layers' in actionscript. Ze komen altijd 'on top' van de layers die je in flash zelf maakt. De instances van objecten moeten immers ook een diepte hebben.

Als je objecten voor je gedupliceerde objecten wilt hebben dan moet je hun depth 'hoger' zetten dan de depth van je movieclips.

bijvoorbeeld de bubbles op mijn homepage worden gegenereerd met duplicate movieclips met depths 1 t/m 60 (er kunnen er dus nooit meer dan 60 zijn)
_root.duplicateMovieclip("bubble", _root["bel" add i], i) ( 0 < i < 60)

Het kader echter moet OVER de bubbles heen, dus voor het kader zet ik _root.kader.swapdepth(100)

Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//set depth bounds and buttons
bound.swapDepths(99)
button.swapDepths(100)

//increase and limit level
level++
if (level >= 60) {
    level = 0
}

//create BUBBLES!!
duplicateMovieClip(_root.bel, "bel" add level, level)

[...]

[ Voor 33% gewijzigd door XangadiX op 20-01-2004 13:29 ]

Stoer; Marduq


Verwijderd

Topicstarter
Omdat ik sommige gevallen al meerder layers op mijn scherm heb.

Voorbeeld:
layer1: actions (bovenste layer, hier plaats ik actionscript)
layer2: menu
layer3: achtergrond (onderste layer)


Goed, het menu in layer2 moet zich altijd boven (on top) de achtergrond bevinden.
Ik wil in layer 3 een achtergrond laden, mbv createEmtpyMovieClip. Maar dat gaat dus niet werken, de achtergrond zal alles overlappen..

Toegegeven, als ik alles dynamisch op zou bouwen, en geen gebruik zou maken van meerdere layers, dan kan ik met behulp van de depth parameter alle movieclips zo plaatsen als ik ze wil hebben. Maar vaak heb ik half dynamische sites omdat die meestal een stukje sneller te bouwen zijn...

Is mijn probleem zo duidelijk?

Ik begrijp hoe swapdepth werkt, en hoe ik movieclips (op dezelfde layer) kan positioneren; dat ik zelf kan instellen wat zich boven wat moet bevinden...

Het zou voor mij alleen makkelijk zijn om gewoon tegen een movieclip te zeggen van "ga naar layer3, de achtergrond layer" of iets dergelijks.. Is dat mogelijk?

[ Voor 19% gewijzigd door Verwijderd op 20-01-2004 13:34 ]


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

neeej
niet layer

je wil tegen je movieclip zeggen ga naar LEVEL 3 of iets dergelijks, niet naar een bepaalde layer. In welke layer welke moviclip staat maakt geen reet uit. Het enige wat je moet doen is per layer de boel even in een movieclip te veranderen en dan in je 1e frame je levels aangeven

Flash ActionScript:
1
2
3
movieclip ga naar level drie: en wel NU!

movieClip.swapDepths(3)

[ Voor 30% gewijzigd door XangadiX op 20-01-2004 17:35 ]

Stoer; Marduq


Verwijderd

Topicstarter
Ah, ik ben wat traag van begrip, maar ik begin het nu te begrijpen... bedankt mensen!

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

lees ook ASDG2 en bekijk de interne representatie van levels en movieclips in de flash player in een mooi plaatje.

* oh,when? zegt: weg met backwards compatible en weg met scoping issues + related level issues in Flash :)

"You're only as good, as what you did last week."


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

* XangadiX zegt weg met Owhen en zijn post waarvan ik maar de helft begrijp

als je van die posts doet moet je even roepen waar het over gaat voor alle mensen die niet 24 uur per dag met actionscript bezig zijn en af en toe een poging doen een sociaal leven op te bouwen.

Waar moet ik naar kijken op die site, of moet ik dat boek kopen?
Niet langer backwards compatible ? dat is hoogst onhandig en bovendien onprofessioneel. Ik erger me altijd kapot aan softwarehuizen die mensen verplichten de boel up te daten omdat het anders niet meer werkt. Flash 7 heeft nog lang niet iedereen en met flash 6 kun meer als zat op het moment. Lees Nielson er nog maar eens op na wanneer je met welke tech kunt gaan werken ;)
Wat zijn scoping issues?
en wat zijn de daaraan related level issues?

beetje meer uitleg Owen.

[ Voor 83% gewijzigd door XangadiX op 21-01-2004 12:13 ]

Stoer; Marduq


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

* oh,when? trapt 2 Betacam recorders richting XangadiX zijn hoofd...hier pak an mislukte vj met je 'social life', speel dat maar eens af met je backwards compatible VHS tapes... ;)


Je moet niet op de site kijken, maar naar de boekwinkel lopen en plusminus 35 euro uitgeven aan de bijbel over Actionscript. Daarna als je weer thuis bent, blader je door naar pagina 340 onderaan en lees dan het onderdeel "Movie and Instance Stacking Order", en voor het visuele plaatje blader je door naar bladzijde 345. Vervolgens sla je een bladzijde om en lees je alle issues betreffende scoping, referentie naar (geneste/gestackte) MovieClips en (composite) data en snap je gelijk welke voorrang heeft.

Flash ActionScript:
1
2
3
4
5
6
7
_level0.createEmptyMovieClip( "got", 23 );
_level0.createEmptyMovieClip( "got", 46 );
trace( _level0.got + "" + _level0.got.getDepth() );

_level0.createEmptyMovieClip( "got", 0 );
_level0.got = 23;
trace( _level0.got );
Het verschil tussen MovieClips en Object data at runtime ipv at compile-time dus...

[ Voor 5% gewijzigd door oh,when? op 21-01-2004 14:10 ]

"You're only as good, as what you did last week."


  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

* XangadiX pakt de betarecorders en ruilt ze in voor digibeta's...

we moeten wel bij de tijd blijven he :)

Stoer; Marduq

Pagina: 1