ActionScript 3.0 :: Share External Class Files With Multiple SWFs?
Sep 9, 2010Is there a way to share common .as files with multiple swfs?
View 5 RepliesIs there a way to share common .as files with multiple swfs?
View 5 RepliesIn the Flash app I'm building, I have a "main" SWF that will load a variety of "child" SWFs.
All of the AS3 code for both the main SWF and child SWFs is contained in external .as class files.
In other words, each movie has it's own document class .as file.
There are also a number of .as class files for all of the common elements (e..g, UI buttons and controls).
So - for example - both my main SWF and all child SWFs use the "MyCommandButton" class; the code for this class is in MyCommandButton.as, which all SWFs reference (import).
Here's what I don't understand.
(Let's say that the code in MyCommandButton.as draws buttons that are red.)
First, I compile ALL of the child SWFs.
Next, I change MyCommandButton.as, so that the buttons it draws are blue, instead of red.
Then, I compile the main SWF.
When I run the app (main.swf), I would expect all of the buttons in the main SWF to be blue (since that's what MyCommandButton.as specified when main.swf was compiled), and all of the buttons in the child SWFs will be red (since that's what MyCommandButton.as specified when they were compiled.)
Instead, ALL of the buttons are blue, which means the change I made to MyCommandButton.as affected all of the child SWFs, even though I didn't recompile them.
The problem is class files being cached in external swfs when they are loaded into another swf. (as2-cs3). In a nutshell, we've got a clip on the stage that is linked to a class. You can make changes to the class, pub the swf and everything works fine. When we then load that swf into our application swf, the changes are all lost, and it "reverts back" to a previous version of the class.
View 9 RepliesIn AS3 i am using the Loader class to load in multiple external SWFs (AVM1), each of which has a short animation which automatically plays when the swf is I obviously cannot control the timeline of these (i can't use local connection etc) but would like to load in the *.swf files, so they're in memory then add them to the stage when requested. the problem is that if i load them enmass. then use addChild when they are called, they have already played through and animated pre the addChild command.
(I cannot edit the swfs at all, and would rather not load them on demand at runtime)
In Flash CS5 it seems like there's an option to import .swc files into the library, but as an RSL (runtime shared library).
What's the difference between this option (swc) and using a runtime shared library .swf file?
Also, if you select a .swc file, and choose the "info" ("i") icon, there seems to be several options for .swc..."merged into code", "external", "runtime shared library":
I have a bunch of games each in there own directory with there own classes. I need to make 1 global directory with a class in it that all my games can use.
The reason for this is if I need to make a change to this class, I don't want to have to keep copying it into each game folder.
How to share TextArea Component in multiple swfsaylib.swf (has TextArea Componenet)main.swf (Import TextArea Componenet from lib.swf)section.swf (Import TextArea Componenet from lib.swf)
View 1 RepliesRight now I am using an apply task inside of an antrun execution.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions><execution>
<id>compile-default-theme-css</id>
[Code] .....
How do I do this in pure maven? Without the antrun plugin?
I was wondering if someone could help me. I've spent months looking for an AS2 preloader that does the following:
1. Preloads multiple external swf files into a single movie holder.
2. Starts automatically preloading once the parent file is launched.
3. Contains a progress bar with % downloaded.
4. Can be placed on a "Preload" scene.
Working on the file in Flash CS3, AS2. I've looked at tutorials, scanned the web, etc. And I still can't find the right one, or even how to make one.
I am trying to figure out how to read an XML file containing a list of the swfs I want to import, pause for 8 seconds to allow the swf to run and then continue the loop with the next swf.I am reading the XML correctly but I am having an issue creating the timer to pause the for loop for 8 seconds between slide.
View 1 RepliesI have a game which has various cutscenes. Each cutscene is split up into 3 or 4 seperate swf movie files which can be played (and replayed) by the user.
My question is, I've seen many tutorials on how to load external swfs but how do I load several movie clips into memory, and then clean everything up once the user has finished viewing them all?
I want to load the first swf, if the load is complete, load the second swf, etc. This seems logical but I get a compile error: Scene 1, Layer 'scripts', Frame 1, Line 24 1120: Access of undefined property swfLoader3.[code]...
View 3 RepliesI have two swf files that I exported from After Effects. They are both fairly large (1.7mb and 2.6mb) so I decided to load them into my main fla externally. This works fine but the playback is a little choppy. I tried creating a separate preloader.fla that will play my main movie once it is loaded. This doesn't work though since my main movie is only 4kb (since all the swfs are externally loaded). With me so far?
So then I created a regular preloader inside my main fla. Here is my code:
[Code]....
I can't figure out how to load external swf files(9) into my master.swf file one after the other. This is the Actionscript i have written so far.....(AS2)
Code:
var myItems:Array = new Array("swf01.swf", "swf02.swf", "swf03.swf", "swf04.swf", "swf05.swf", "swf06.swf", "swf07.swf", "swf08.swf", "swf09.swf");
[code].....
Lets say I have two swfs A and B, and at runtime, swf A loads swf B, and I wish to share code between them, to minimize file size and download times.
If swf B has some code (say. com.blah.HelloWorld), I tell the compiler to have swf B's source in swf A's classpath, but only do a compile-time link and not actually compile com.blah.HelloWorld into swf A
This works, and I have tried it, using a the -includes and -externs compiler options.
However, My problem is that I wish to do this the other way. i.e. swf A and B (and potentially swf C) all need com.blah.HelloWorld, but I want com.blah.HelloWorld to be compiled into just swf A, have it as an external reference in swf B ( and potentially C as well.)
I tried doing this using the externs and includes, but I get ReferenceErrors when I do this.
I want to do this without a having a separate rsl, so I can reduce the number of http requests.
I'm building a website that loads multiple swfs within one main swf. I would also like some swfs to unload when i click on the button situated on it. Currently I'm only able to load one swf with this code, can I somehow load more that just one swf by default? you can see the code below:
[Code]...
I have a main movie that sets up the loads of multiple swfs with:
/* imports */
import flash.net.URLRequest;
import flash.display.Loader;
import flash.utils.Timer;
[Code]....
How do I get it not just to start the move but play as well? Everything I tried caused an error or didn't work.
I understand how to load external swfs into an container with the loadmovie command. I also understand I could make that container invisible so I don't see the movie right away.However, I want to script a preloader that loads swfs without starting them - just gets them into memory. how to do this and then play them on command?
View 1 Repliesok using
Code:
var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
[Code]....
doesnt tell me the loaded files name nor does it tell me in currentTarget or Target.
I've tried to approach this from several angles, employing several of the tutorials, attachments found in various threads, etc, and nothing has worked. So, please bear me as I ask yet another question regarding this subject.I need to preload 2 external .swfs, one containing animation and one containing sound, and I need them to start playing at the same time. As of now I have a general preloader on the main timeline, but as you might expect, after the preloader finishes, there is a lag while the .swf's are being loaded.thought everything was solved, until a friend of mine looked at it in dial-up, and the preloader just kept looping 10 times before the animation started, so now I'm starting over. Part of my complication I believe is that I'm using loadMovieNum into levels as opposed to loading the external .swf's in a separate container MC (that's what I've noticed most people recommend for this problem), but I tried doing that technique several times with no luck. Right now my main movie, index.fla, has a preloader MC in the first frame, with this AS attached to the clip:
Code:
onClipEvent (enterFrame) {
loading = _parent.getBytesLoaded();
[code].....
ANYONE KNOW HOW TO Preloader and Transition for Dynamic Files AND Transitions Between External SWFs MIX TOGHETER...
View 1 RepliesI've been trying to combine the features of two tutorials I found, one that deals with controlling external swf's from the main timeline and the other that explains how to load and unload multiple external swf's. I'd like to be able to load and unload multiple external swf's, and control these swf's buttons from the main timeline
I asked this same question on the forum of the site where I found these tutorials, and receive only one reply saying that "it shouldn't be hard to do." but they did not elaborate any further. This left me think that I was missing something very obvious and I've spent too much time now trying to work what it is now. I understand pretty much how both pieces of code work, but just can't work out how to combine them.[code]...
Is there a way I can share sound assets between parent and child swfs?
Currently, I have a parent swf that loads a child swf (and each have preloaders) and some of them have the same sound assets. I would rather only load the sounds once... can I reference a sound even if it 'lives' in another swf?
recently i needed to share data between different flash .swfs on a homepage.. so i tried to use Shared Objects to do so..
sofar its fine.. i tried it .. and as long as the data is stored on my harddisk.. the sharedObject "cookies" work fine.. but when i put the site online.. they simply dont work anymore..
could this have something to do with security settings of the browser used?. doesnt a web browser allow flash to access the harddisk to read and write shared objects..
is there another.. simpler and more reliable way to send data from one .swf file to another..?? (without using php -> my webserver doesnt support this sofar )
detailed as possible. Took basic Flash classes, but no AS other than searching online, taking a couple Kirupa tutorials, so it's all greek tho recognizably so. I have 10 individual "scenes" currently in one swf file, but would love to break these apart individually, and load each into a "container" swf with a "random" code (so each visit to my site starts differently) which I've located and tested with Kirupa's super "Loading random movies" tutorial. Question is: currently I have active buttons in each scene which advance playhead to the next scene. How can I code these to load another swf into the main "container" file and kill/replace the current swf?
Another tutorial "Transitions between external swfs" suggests "if your buttons are not located on the main timeline, you will have to change the path to the container movieclip" - but doesn't show exactly how to do this, and I have to say I can't figure the "path" out! Another issue I foresee is that I'll need the script to automatically pull in the next swf file when the current one finishes, if the visitor doesn't click the button first... Haven't been able to find this with a few hours searching, though some threads come close.
I have 20 external .swfs im trying to load into 20 blank movieclips . i am trying to load them randomly into each blanck movieclip without the external .swf's duplicating.
so far I have this code
[Code].....
Im trying to load all the movieclips with all the external .swfs without any
of the .swf's repeating.
I have a problem when making flash applications with more than one frame that has symbols placed on it in that I can't declare all of the event listeners for the objects at the same time and I have found that even if I put them all on the first frame, add the event listeners, then click through to the next frame then the buttons won't work on that frame.
Does anyone have any idea how I could solve this? I did consider myself a fairly competent AS3 programmer until I realised I had no idea how to handle this sort of thing. Solved: I initialised the clips from my external class and then addChild'd and removeChild'd them as I needed to and placed their x and y on addChilding.
[URL]regarding this tutorial I started my site [URL] to get some trasition effects but im getting somewhat different since the external SWFs take time to load. isn't it better to create "intro and outro" on the same time line instead of loading external SWFs bcos once the movie loaded as a whole will lead to smooth and contineous transitions.
View 1 RepliesI am aware that I can share simple Objects using LocalConnection, but this does not (in my limited testing) appear to work with NetConnection or NetStream.
In short, I wish to have a single SWF that acts as a NetConnection proxy for other SWF files in the HTML page. The client SWFs require direct access to NetStream objects on the proxys NetConnection.
Is this at all feasible, or will each client SWF require its own NetConnection?
I am aware that I could build the entire application in flash and utilize a single NetConnection internally, but this is NOT what I want to do.
I'm trying to set up a website that uses the MovieClipLoader class to load external images & swfs. The loader is working but I can't seem to get the preloader text to work, ie the onLoadProgress. The Percent text just has jibberish when I test the movie. Could some tell me what I'm doing wrong. Attached is the test file that I'm working on
[Code]...