Toon posts:

[flash] visibility en performance

Pagina: 1
Acties:

Verwijderd

Topicstarter
Om te beginnen maar even de vraag:
hebben mc's waarvan de _visible-property op false staat invloed op de performance?

context van de vraag:
ik wil in flash meerdere game-karakters maken op basis van 1 mc genaamd player. hiervoor wil ik dmv attachMovie verschillende clips toevoegen voor haar, shirt, broek etc. de player-mc heeft aparte frames voor left, right, up en down, met daarin mc's player-left, player-right etc. hiervoor bestaan dus ook weer aparte kleding-clips. afhankelijk van de stand van de speler wordt de mc naar het juiste frame gestuurd. Probleem is alleen, dat wanneer je bv in frame "left" je mc's attacht aan de mc player-left, en daarna naar een ander frame gaat, je de ge-attachte mc's in left kwijt bent, omdat de mc player-left niet bestaat in de andere frames.
Nu zijn er volgens mij 2 oplossingen mogelijk:
1. je maakt een functie dressMe(), die de juiste mc's attacht en die je telkens aanroept wanneer je naar een nieuw frame toegaat
2. je laat alle player-mc's in alle frames aanwezig zijn, en regelt mbv visibility welke mc je te zien krijgt.
De tweede optie spreekt mij het meest aan, maar ik weet niet of flash mc's die invisible zijn niet toch rendert (zoals bv bij alpha=0).

Het liefst zou ik wat meer algemene informatie hebben over hoe flash met dit soort dingen omgaat. Ik zou nl ook wel willen weten of er een verschil bestaat tussen het spiegelen van een mc op de stage of dmv actionscript, of er performance-verschil is tussen tweens of meerdere keyframes (lijkt me wel) enzovoort.

Wie weet waar ik dat soort informatie kan vinden?

Verwijderd

Topicstarter
/me juaron geeft een klein schopje

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op 25 oktober 2004 @ 11:40:
Om te beginnen maar even de vraag:
hebben mc's waarvan de _visible-property op false staat invloed op de performance?

Wie weet waar ik dat soort informatie kan vinden?
Ja :) (negatief wel te verstaan)... Ik zal ff een link opduiken waarin een en ander wordt toegelicht.

Ik ben er zelf achter gekomen door 1000 animated MC's op een scherm te zetten met _visible op false.

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

als je toch attachmovieclip gebruikt, waarom dan niet ook removeMovieclip gebruiken ;)

(ik snap echt helemaal niks van het verhaal na je vraag over mc._visible trouwens ;) )

Stoer; Marduq


Verwijderd

Topicstarter
(ik snap echt helemaal niks van het verhaal na je vraag over mc._visible trouwens ;) )
ik zal even verduidelijken hoe een en ander is opgebouwd door een mooi stukje ascii-art.
hieronder schematisch mijn tijdlijn; een + betekent dat er een clip aanwezig is, een - dat er geen clip aanwezig is.
code:
1
2
3
4
5
label       |up      |down       |left      |right      |
playerUp    |++++++++|-----------|----------|-----------|
playerDown  |--------|+++++++++++|----------|-----------|
playerLeft  |--------|-----------|++++++++++|-----------|
playerRight |--------|-----------|----------|+++++++++++|

ik heb voor elke richting een aparte playerClip. elke playerClip staat op zijn eigen laag. Wanneer de speler omhoog gaat, gaat de tijdlijn naar label "up" nu is alleen de mc aanwezig die op de laag playerUp staat. aan dit clipje attach de clip "kledingUp". Daarna gaat de speler bv naar links, dus naar label "left" daar is op de tijdlijn alleen de mc aanwezig die op de laag playerLinks staat. De mc playerUp bestaat nu niet meer op de stage. Wanneer de speler nu weer omhoog gaat, gaan we weer naar het label "up" de mc die hier staat is nu echter zijn ge-attachte clip kwijt. Bij deze opzet moet ik dus telkens wanneer de speler van richting verandert opnieuw de kledingClip attachen.

een alternatieve opbouw is de volgende:
code:
1
2
3
4
5
label       |up      |down       |left      |right      |
playerUp    |++++++++|+++++++++++|++++++++++|+++++++++++|
playerDown  |++++++++|+++++++++++|++++++++++|+++++++++++|
playerLeft  |++++++++|+++++++++++|++++++++++|+++++++++++|
playerRight |++++++++|+++++++++++|++++++++++|+++++++++++|

hier zijn de clips voor de verschillende richtingen altijd aanwezig. alleen moeten nu wanneer we bv naar label "left" gaan, de clips playerUp, playerDown en playerLeft invisible maken. Omdat de clips echter wel blijven bestaan op de tijdlijn, blijven ook de aan de playerClips ge-attachte clips wel gewoon bestaan.

het liefst zou ik optie 2 gebruiken, zodat ik 1x alle clips attach, en daarna niet meer. Ik ben echter bang dat het invisible aanwezig laten van de clips een negatief effect heeft.

mocht je dus ergens een link kunnen opduiken waar daar meer over wordt uitgelegd, dan houd ik me aanbevolen...

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik heb het idee dat je je 'game' op een verkeerde manier opzet... Waarom maak je niet gebruik van true AS (zonder dus met frames te klooien) :?

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.


Verwijderd

Topicstarter
met true AS bedoel je dat ik bij elke richtingswijziging een nieuwe clip attach, ipv van frame naar frame te springen? daar had ik nog niet aan gedacht. is dat ook echt efficienter, of alleen uit programmeer-oogpunt beter?

ook dan blijf ik op zoek naar meer technische info over hoe flash met render-zaken omgaat: de clips voor links en rechts zijn elkaars spiegelbeeld, en ik vraag me dan weer af of het performance-technisch uitmaakt of je dan 1 clip maakt en die dmv hscale = -100 spiegelt, of dat je er twee aparte clips voor maakt...

[ Voor 39% gewijzigd door Verwijderd op 28-10-2004 16:29 ]

Pagina: 1