Toon posts:

[flash] lagen, swapDepths

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedemiddag mensen,

In flash ben ik bezig een menuutje te maken met tabbladen.
Het probleem is echter de lagen.

Als je op een tabblad drukt, dan schuift deze open of dicht.
Nou moeten degene die dicht zijn altijd bovenop staan.
Bij degene die open staan moet degene die geseleteerd is boven staan.
Ongeveer zoals de vensters in windows werken (qua laag indeling).

Nou heb ik in de dictionary gevonden dat je swapDepths kan gebruiken met movieclips, maar kan je een movieclip ook naar een layer toe sturen bijv. layer "boven" of layer 3?
Je kan wel met levels werken, maar wat ik daarvan begrepen heb werkt dat niet bij wat ik nodig heb.
Kan je ook tracen welke movieClips er in een bepaalde layer staan?

Bij voorbaat dank.

Verwijderd

De hele GOT flashcrew is druk aan het werk...maybe vanavond.....

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

Nee, dat kan (dacht ik) niet. Er kunnen geen 2 dingen in dezelfde laag leven toch?

Stel je wilt object a uit diepte 1 naar diepte 5 krijgen, dan moet je de objecten uit diepte 2-5 verplaatsen naar diepte 1-4 en object a naar diepte 5 verplaatsen..

Aangezien je alleen met swapDepth mag werken moet je dat als volgt doen (dit is trouwens alleen voor het naar een hogere diepte brengen)

psuedo
code:
1
2
3
4
verwissel 1 en 5
loopje waarin x van 2 tot 4 gaat
  verwissel x-1 en x
einde loopje

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Damn..

Najah, succes jullie.

Doe maar rustig aan, komt maandag wel weer :)

Prettig Weekend!!!

Verwijderd

Topicstarter
Janoz, in flash kan je wel verschillende voorwerpen in 1 laag zetten.

Tijdens het typen van dit bericht krijg ik een ideetje, ga het ff uitwerken.

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

oh,when?

...

ff druk aan het werk..toch vlug een opmerking.

Fysieke layers, aangemaakt in je Flash Interface zijn transparant voor het aantal objecten in de Actionscript benadering. Dat wil zeggen, dat je een theoretisch ongelimiteerd aantal objecten binnenin een layer van Flash kunt hebben, maar ook 99 layers aan kunt maken binnenin je Flash Interface. Deze staan in zoverre los van elkaar, dat fysieke layers _wel_ bovenelkaar worden gedisplayed in je SWF, maar movieclips die je via Actionscript benaderd ook qua diepte veranderd kunnen worden.

gisteren nog een lange discussie hierover gehad.

Het is mogelijk om door alle objecten binnenin je main timeline te loopen, een simpele for...in loop displayed alle objecten. Ook kun je gebruik maken van de movie explorer.

HTH :)

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


Verwijderd

Topicstarter
De topic die je vermeld gaat alleen over variabele in een andere layer/level :? , maar ik heb het probleem dat plaatjes elkaar overlappen en daarom moet het juiste plaatje in de juiste layer staan.

Hoe kan een movieclip een andere diepte geven zonder deze te wisselen met een andere movieclip.

Verwijderd

Topicstarter
Het idee van Janoz is goed.

Stel ik heb vier movieClips (de plaatjes) en 1 dummy Movieclip. 5 layers dus.

in het begin maak ik een array aan en zorg ik dat alle plaatjes in de juiste layer staan.

De array houd bij welke movieClip er in welke layer staat.

Zoiets word het systeem dan:
layer 1: Plaatje 1
layer 2: Plaatje 2
layer 3: Plaatje 3
layer 4: Plaatje 4
layer 5: Dummy

Stel ik klik op plaatje 3 (deze moet dan bovenaan komen te staan).

Dan wissel ik plaatje 3 met dummy:
layer 1: Plaatje 1
layer 2: Plaatje 2
layer 3: Dummy
layer 4: Plaatje 4
layer 5: Plaatje 3

Dan plaatje 2 naar beneden:
Dan wissel ik plaatje 3 met dummy:
layer 1: Plaatje 1
layer 2: Dummy
layer 3: Plaatje 2
layer 4: Plaatje 4
layer 5: Plaatje 3

Dan plaatje 1 naar beneden:
Dan wissel ik plaatje 3 met dummy:
layer 1: Dummy
layer 2: Plaatje 1
layer 3: Plaatje 2
layer 4: Plaatje 4
layer 5: Plaatje 3

En dan plaatje 3 naar boven:
Dan wissel ik plaatje 3 met dummy:
layer 1: Plaatje 3
layer 2: Plaatje 1
layer 3: Plaatje 2
layer 4: Plaatje 4
layer 5: Dummy

zoiets moet het worden toch :)

Nou de code nog :P
Gaat goed komen B-)

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

oh,when?

...

Arrays? waarom moeilijk doen als het makkelijk kan :)

* oh,when? heeft bij hoge uitzondering ff heel snel wat in elkaar geflansed :)

woei..

downloaden maar

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


  • cjs
  • Registratie: Maart 2001
  • Niet online

cjs

Macromedian

Ik zou
code:
1
2
3
on (release) {
this.swapDepths(_root.i);
}

ff veranderen in
code:
1
2
3
on (release) {
this.swapDepths(_root.i++);
}

Als je dit niet doet komt alles uiteindelijk op de zelfde diepte (_root.i == 6) te staan en krijg je dit leuke effect:

Afbeeldingslocatie: http://www.schuirink.net/~casper/GOT/owen_swapdepths.gif

Gemiddelde Nederlanders zijn maar halve Nederlanders.


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

oh,when?

...

Op vrijdag 14 december 2001 18:20 schreef cjs het volgende:
ff veranderen in
code:
1
2
3
on (release) {
this.swapDepths(_root.i++);
}
mwuah..typefoutje :)

je kan niet alles hebben in 2 minuten ;)

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


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

oh,when?

...

Op vrijdag 14 december 2001 23:45 schreef oh,when? het volgende:

[..]

mwuah..typefoutje :)

je kan niet alles hebben in 2 minuten ;)
toch maar ff aangepast :)

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


Verwijderd

Op vrijdag 14 december 2001 18:20 schreef cjs het volgende:
Ik zou
code:
1
2
3
on (release) {
this.swapDepths(_root.i);
}

ff veranderen in
code:
1
2
3
on (release) {
this.swapDepths(_root.i++);
}

Als je dit niet doet komt alles uiteindelijk op de zelfde diepte (_root.i == 6) te staan en krijg je dit leuke effect:

[afbeelding]
Best wel nuttig fect btw :)
Pagina: 1