Ucitavanje SWF-a u Flash aplikaciju

1

Ucitavanje SWF-a u Flash aplikaciju

offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Da li je neko (a sumnjam da nije) imao problema sa ucitavanjem npr flash igrice u flash aplikaciju - sto dodje ucitavanje swf-a u swf.

Neke prezive ucitavanje sa loadMovie (ili loadMovieNum na bilo koji nenulti level), ali vecina se razlupa tako da se u odredjenim frejmovima igrica razvali po cijeloj flash aplikaciji (nerijetko napravi nepovratan haos u istoj). Mnogima se vide povrsine koje treba da su pod maskom itd. Uglavnom, ne valja.

Uvitavanje swf-a preko nekog empty movieClip-a, kao i koriscenje loader-a igricu ucitaju ali tada je onesposobljena bilo kakva interakcija (klik misem ili pomjeranje tastera uopste se ne registruje).

Kako se ovo rjesava?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 30 Dec 2007
  • Poruke: 4759
  • Gde živiš: Niš

Nisam u stvari stručan po pitanju fleš programiranja,
ali primećujem da postoje dosta problema sa fleš plejerom v10
(ako je ovde u pitanju učitavanje igrice iz browsera)

da li možeš nekako da utvridiš da li slični problemi postoje ako
je na sistemu fleš plejer v9.x
(npr u operi može u lokalni folder da se instalira)
ovde je ažurirana verzija za starije sisteme
http://www.adobe.com/go/kb406791
nisam siguran kako da ide u lokalni folder, ili da se raspakuje nekako
u opera/plugins pa da se postavi path u podešavanjima za operu

( btw 1000 post Ziveli )



offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Ja i radim sa Flash Playerom 9 i koristim AS 2.
Aplikacija je krajnje jednostavna, pokrecem je na PC-u i pokusavam da ucitam externi swf koji se nalazi u istom direktorijumu kao i sama aplikacija.

Znaci ne moze biti jednostavnije, ali ipak ne radi, po pravilu se razlupaju svi imalo komplikovaniji swf fajlovi. Nesto propustam?

offline
  • Pridružio: 19 Maj 2005
  • Poruke: 5224
  • Gde živiš: Oslo

Znaci, nesto radi, nesto ne radi?
Jedna stvar je uvek kobna kod tog ucitavanja, prvo to proveri pa ako nije to, da idemo dalje sa dijagnostikom:
Ako radias sa AS2.0 verovatno da ima gomila _root. poziva u unutrasnjoj igrici. Pokusaj da ih sve nadjes i da ih premunduris u _parent. (ili _parent._parent....). Pri ucitavanju znacenje _root-a se menja i _root postaje _root od aplikacije a ne igrice.

offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Uuuu gotovo da sam sigurna da je to grm gdje zec, ali cu svakako provjeriti i o'ma idem da ukinem sve root-ove kod sebe!

Da li sam onda u pravu ako kazem da se zbog toga igrice ucitane preko empty movie clip objekta ponasaju polumrtvo odn. pogubljeno i ne kontaju da se klik misem na neki njihov segment zapravo odnosi na nju? Referencira se na root, a ucitamo je preko objekta i ona vise ne zna gdje je?

Da li iko ima ikakvu ideju (svaki egzibicionizam je dozvljen) da se ovaj problem prikrije ili obidje, ali da se ne mijenja sama igrica (jer to nije opcija)?

Moze li swf aplikacija da ucita swf u neki prozor (koji se smjesti na taj stage) u koji se zbog _root-a nece razlupati jer ce se root vezati za taj prozor... ili tako nesto? (Sad lupam, nemam iskustva sa ovakvim stvarima)

offline
  • Pridružio: 30 Dec 2007
  • Poruke: 4759
  • Gde živiš: Niš

ako može da se umesto loadMovie
pusti link ka swf sa igricom da se otvori u istom prozoru ?
(ili tako nekako ,kako je sad tačno u stavri zamišljeno da ide ,
jel klikneš u glavnoj aplikaciji neki meni ,u kome su linkovi
do više različitih igrica ? )

offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Napisano: 12 Jun 2009 15:54

Pa recimo da imas sa strane listu svih swf-ova koji se nalaze u lokalu (ne svlacim sa neta nego su igrice u lokalnom folderu). Klikom na zeljenu, ona se otvori na sredini aplikacije. Tako je zamisljeno ... ako se ne razlupa. Smile

Dopuna: 12 Jun 2009 16:00

PS. swf igrice koje se ucitavaju sa LoadMovie se razlupaju, a one koje se uvlace preko empty movie clip-a ostanu citave sa vidljivim povrsinama koje treba da su pod maskom, i bez normalne interakcije.

Dopuna: 21 Jun 2009 20:37

Jeste, problem je bio _root, uspjela sam da izbjegnem razlupavanje nekih igrica prepravljanjem fla fajlova.

Vjerujem da uvlacenje swf-a u swf nije rijetko (flash aplikacija u kojoj su flash igrice!). Kako su ljudi onda sa ovim uopste izasli na kraj?

Ono sto mi nikako nije jasno je to da nigdje nisam nasla konkretnu preporuku vezanu za ovo (tipa: hint da ovaj problem moze da se desi, da nije preporucljivo i sl.) Da li je uvlacenje swf-a u swf nesto sto treba izbjegavati ili ja nesto propustam?

offline
  • Pridružio: 19 Maj 2005
  • Poruke: 5224
  • Gde živiš: Oslo

Koriscenje _root-a se uvek smatralo losom tehnikom. I to toliko da su ga iz AS3.0 potpuno uklonili.
Za razliku od ucitavanja swf u swf sto je, kako si i ti sama rekla, uobicajena stvar.

Evo sta kazu u Adobeovom clanku o losim i dobrim tehnikama programiranja (AS2.0 ):
Sa Adobe-a ::
Avoiding Absolute Targets ('_root')

You can use several methods to target instances that let you avoid using _root; these methods are discussed later in this section. Avoid using _root in ActionScript 2.0 because SWF files that load into other SWF files might not work correctly. The _root identifier targets the base SWF file that is loading, not the SWF file using relative addressing instead of _root. This issue limits code portability in SWF files that are loaded into another file, and, particularly, in components and movie clips. You can help resolve problems by using _lockroot, but only use _lockroot when necessary (such as when you are loading a SWF file but do not have access to the FLA file). For more information on using _lockroot, see the next section, "Using _lockroot."

Use this, this._parent, or _parent keywords rather than _root, depending on where your ActionScript 2.0 code is located. The following example shows relative addressing:

myClip.onRelease = function() {
trace(this._parent.myButton._x);
};

All variables must be scoped, except for variables that are function parameters, and local variables. Scope variables relative to their current path whenever possible, using relative addressing, such as the this property. For more information on using the this property, see This Property in Flash Help or the Flash 8 LiveDocs (ActionScript 2.0 Language Reference > ActionScript Language Elements > Global Properties > This Property).


http://www.adobe.com/devnet/flash/articles/as_bestpractices_04.html

offline
  • Pridružio: 30 Maj 2005
  • Poruke: 1014
  • Gde živiš: Mbabane

Hvala Tamitam Smile

Isto ovo sam nasla 10 minuta prije nego sto si postovala Laughing

I najzad, ovo je ono sto mi rjesava problem:

If you experience problems loading content into a SWF file or a component instance, try applying _lockroot to a movie clip that loads the content. For example, if you have a movie clip called myClip loading content, and it stops working after it is loaded, try using the following code, which is placed on a timeline: this._lockroot = true;

Ziveli

offline
  • Pridružio: 19 Maj 2005
  • Poruke: 5224
  • Gde živiš: Oslo

Vidis, vidis, ne bih nikad saznala za _lockroot da nije bilo ovog topica.
Covek svaki dan nauci nesto novo. Very Happy

Ko je trenutno na forumu
 

Ukupno su 766 korisnika na forumu :: 7 registrovanih, 3 sakrivenih i 756 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: bigfoot, Dorcolac, goxin, Lazarus, Milometer, mnn2, Shilok