ActionScript 3.0 :: Switching From Embedding Assets To Loading At Runtime?
Mar 8, 2011
I have been handed a project that was built to embed all assets at compile time and I need to update the app to load assets from a remote server instead. Right now everything is being embedded as follows:
[Embed(source="assets/gfx/tutorialBg.png")]
public var tutorialBg:Class;
[Embed(source="assets/gfx/tutorialStraightArrow.png")]
[Code]....
These Class variables are being referenced all over the app to place the assets so I'm hoping to be able to update the code to load the assets and store them in these same Class variables. So far the methods I've tried have not worked. I've tried using URLLoader and it loads the images fine, but I'm not then able to extract the image and cast it as type Class to these variables.
View 0 Replies
Similar Posts:
Dec 16, 2011
I had to set the "Default linkage" actionscript setting to "Merged into code."
I have pretty basic AS that says to switch to a different scene, and it will switch, but movie clips from the original scene won't disappear. Never happened before...
Code:
function unit1MainMenu(event:MouseEvent):void {
gotoAndPlay(1, "Main Menu Unit 1");
}
MainMenu.addEventListener(MouseEvent.MOUSE_UP, unit1MainMenu);
View 2 Replies
Oct 3, 2011
I want to create something like gallerea of images. All images are defined within an XML file. The XML file itself sits in the project directory and embedded this way:
[Embed(source="xml/data.xml")]
public var testXml:Class;
The file structure looks this way
[code]....
View 1 Replies
Jan 28, 2010
I'm creating a project in flex builder but it's not using the flex framework, it's just pure actionscript.
At the moment I have some bitmap resources embedded for drawing things, but I'd like a little animation and thought I could create swf animations for them in flash and use the [Embed()] thing to embed them in the actionscript project.
This works perfectly well for me, however I'm a little concerned about efficiency and how well this approach will scale when my project gets larger.
Does anyone know if there are any efficiency implications to embedding maybe 20 or 30 swf files, or do they get efficiently integrated into the main swf file? Most of the animations are really simple and I could probably redo them in actionscript if needed but it's a lot easier just to draw them in flash and embed them.
View 1 Replies
Mar 21, 2012
When embedding assets of any size in the following manner -
[Embed(source="../../assets/Assets.swf", symbol="LargeButton")]
public static const ButtonAsset : Class;
it looks like the resulting SWF size jumps up ~2.8KB (in addition to the size of any assets that are actually embedded).
So I have a few related questions:
Is this because flex_sdk/frameworks/libs/core.swc must be statically linked? Is there any way to get around this restriction, perhaps by cherry picking the necessary files and compiling them to a SWC file?? Note that in the app I am writing file size is critical.
Is there a command/plugin that would allow for the transcompiling of vector graphics (drawn in the Flash Professional Authoring Environment) into raw ActionScript 3 ?
Use cases compelling this feature are improved workflow - would allow designers to draw assets in Flash Professional, compile to an asset SWF, and then be able to embed those assets (versus having to take the time to load them at runtime, or going to the effort myself to write them in ActionScript).
View 1 Replies
Feb 19, 2010
I'm building an avatar class that will allow a user to swap out character assets during runtime. The idea is pretty straight forward. The artist I am working with designed the art assets for the individual pieces of the avatar and performed the animations in flash. Since the animations were created in flash using vector art as opposed to pre-rendered 3d, I want to simply replace each individual movieclip within the animation with the asset selected by the player.
Problem:The issue i'm running into is that the animations have several key frames. My thought is to load the avatar object (an external swf) into my main application. Once loaded, I obtain a reference to all library assets that are used in the animations. For example, to get the face, I have something like:
Code:
if(this.loaderInfo.applicationDomain.hasDefinition("face"))
{
[code].....
View 4 Replies
Dec 1, 2009
I'm trying to load a swf compiled by the Flex SDK into a swf exported by the Flash IDE and instantiate the assets by way of getDefinition(). Normally this works fine with assets exported from the Flash IDE then loaded into another swf also from Flash IDE.This is how I could normally do this using only the Flash IDE:Loader - > Using same ApplicationDomain - > getDefinition(class)Now, using the 'Test.as' compiled from Flex SDK using the [Embed] metadata tag:Loader - > Using same ApplicationDomain - > getDefinition("Test_" + class)The problem is I'd rather not have to keep track of the asset libraries loaded to prefix the class name I'd like to get (('Test_" + class) vs (class)). Is there any way of doing this without referencing the library the class is being pulled from or without accessing the original loader? This way I don't need to know which swf the asset is coming from, just the class name that I could instantiate from the current ApplicaitonDomain.
View 1 Replies
Mar 26, 2009
This is the concept I want to get into code:
1) Have a Document Class attached to the Main.swf
2) Have a Assets.swf that has all MovieClips that set to Export and have been given actual Classes.
3) Have the document class Load the Assets.swf.
4) Once loaded, be able to create instances of the MovieClips from Assets.swf by writing the code in the Document Class of Main.swf
I can get all this to work.. However what I am finding is if I have a public function on the Document class that creates an instance of something from the Assets.swf, lets say var okTest:TestClass = new TestClass(); I have to also import it in the Document Class (import com.test.TestClass). When I compile it, yes it works. If I remove the Assets.swf file it doesn't display. Ok.. But I've noticed that the Main.swf file is including all the imported classes (eg: com.test.TestClass) so the Main.swf filesize is pretty much the same as the Assets.swf file.
I also ran it through a decompiler and can see yes in fact Main.swf is including all those Classes from Assets.swf because I'm trying to access them from Main.swf and had to import. So the biggest question is how do I go about this properly? Being able to load the asset file that has movieclips etc that have custom classes. Then create instances of those classes within the document class but only if Assets.swf is loaded.
View 2 Replies
Sep 2, 2011
I have an animated character swc that is an empty skeleton basically (has all the body parts, animations, and functions/vars). I want to essentially put different clothes on that character at runtime so I don't have to have many copies of this character in my resources.
For example, I have 'skeleton' (the non-clothed model) and 'Bob', 'Jane', and 'Mary' characters. 'skeleton' is animated and fully works as an exported swc, and to get the other characters in their clothes/skins, I open up Flash CS5 and replace the movie clips with the 'clothed' versions of the components. To clarify,'skeleton' has "body parts" as movie clips that are all animated on the timeline, such as "head","face","left arm","right arm", etc. I open up 'Bob', who has the same exact design as 'skeleton', with the exception that 'Bob' has all the clothes and such as differently-designed movie clips. The size, shape, orientation, and reg points are all the same across all the components. After I've replaced all the movie clips in 'skeleton', I export it as a swc named 'Bob.swc' and I do this for all the characters.
What I'm asking is, how can I do this process ^, but at runtime instead, so I don't have all these duplicate root swcs ('skeleton' has a lot of frames on it) so I can cut down on a bunch of space? So I can do something like:
// bob gets all the actions and animations of skeleton
var bob:UIMovieClip = new skeleton()
// replace the body movieclip with a new looking one
bob.body = resources.bodyassets['bob']['body']
View 1 Replies
Mar 12, 2012
I'm making a game for the browser that has a lot of assets, but not all of them are needed at once. I'm deciding whether to embed my assets at compile time or load them at run time. I'm not concerned about loading time -- only the performance of the game during run-time.
If I load these assets and store them into memory for eventual use later in the game, will they consume system resources just being latent in an AssetLoader? Will that affect performance?
If I embed these assets, will they consume system resources just being latent in the compiled SWF?
Is there a difference in performance between these 2 methods?
View 2 Replies
May 2, 2011
i want to embed some of the system fonts on client machine in my flex app at run time there is way to load the fonts swf at runtime but it is not suitable cause of some security issues.
is there any way to embed fonts at run time in my flex app?
View 2 Replies
Nov 5, 2009
So I've got a basic actionscript text generator:Additional details:(you'll probably need japanese font loaded to read this)what is supposed to look like "The sign readsnstead loads as "The sign reads I don't understand why the english aspect of the fonts are loading but the Japanese symbols are failing - even if I set up an off stage textbox with the same kanji symbols embedded.
this.createTextField("tLabel", this.getNextHighestDepth(), pointx, pointy, 280, 70);this.createTextField("aLabel", this.getNextHighestDepth(), pointx, pointy + 75, 220, 50);this.createTextField("bLabel", this.getNextHighestDepth(), pointx + 80, pointy + 75,
[code]....
View 1 Replies
Apr 1, 2010
However, the client also wants to be able to use custom fonts that they would find and download themselves, and then place the custom fonts TTF file in the folder that I will specify for custom fontsIn the xml, there will be a tag for the font to use in the specific section.Question:Is there a way in action script 3 that I can load the custom font from the TTF or other related font file and then set a text field on screen to then use the custom font, even if the font is not installed on my computer at development time1. read xml2. read text content3. Set textfield.text = text content from xml4. Read colors from xml5. Set text field colors.6. Read font to use from xml7. load font from ttf file if not installed on user system.
View 2 Replies
Feb 11, 2011
I have a AS3 project in Flash CS4 in which I am dynamically loading in a font whose location is passed in via XML. It works when I write in the font name (here EASTERAR.TTF). However, if I replace it with a variable, I get an invalid metadata error.
Works fine
[Embed(source='C:/fonts11/EASTERAR.TTF', fontFamily="xyz")]
var xyz:Class;
var arialEmbeddedFont:Font = new xyz();
var textFormat:TextFormat = new TextFormat();
[Code]....
View 1 Replies
Oct 11, 2009
I have a movieclip clip that plays when the movie starts, the movieclip is a visual assets that show's that the application is loading some information but it's not showing any loading progress, just playing while the assets are loaded.I created a for loop that will load the assets using a simple loader, and then when the object is loaded the application push the object to an array.Problem is that when the loading starts all the animation that i have on screen stops until the loading is finished.The whole point is that the animation will play while it's loading.
View 10 Replies
Aug 17, 2010
I've got an AS3 project where I'm trying to compile in several images, a soundtrack, and a video via [Embed] metadata. It's a product requirement that these be embedded, so network transfer is not an option.I'm getting some really strange behavior - a sort of intermittent corruption of the compiled-in data. Sometimes after the project compiles, I run the swf and it closes immediately and writes "Warning: Failed to parse corrupt data" to the flash log. If I delete the binary and clean the project, sometimes it'll run fine after building it again. Sometimes it doesn't. This is probably the strangest part about this problem, but sometimes when I see that error, I can physically move the video [Embed] lines to the end of the file, then clean the project, and it will build and run no problem. Sometimes I move them back to the beginning of the file and it builds and runs fine.
[code]...
I've tried both removing the -debug compiler option and adding the -optimize option, but no luck.Everything is being ran through the GNU C preprocessor for some other tasks, so maybe I'll try removing the preprocessor stuff and hardcoding those variables...Turns out the corrupted data message was due to images created with Photoshop's "Save for web" feature. If I save them outright as PNG images I don't get the message. However, the intermittent nature of the movie compiling properly still seems to be an issue. Now sometimes when the project is compiled it won't throw any compiler errors, but I get a blank flash player window. Right clicking in flash player shows a context menu with a message that says "Movie not loaded..." This doesn't appear to have anything to do with things being ran through CPP first.
View 2 Replies
Apr 22, 2009
Wherever I look it says that loading external assets(.png, .jpg, gif) from a SWC is supported. However, I can't find a single example of doing this with anything else than Classes and Components.
I have 7 swf's that are loaded and unloaded by a main swf, a sort of menu system. These swf's all rely on loading in some .png's at runtime.
I made a new "Library Project" in Flex, filled the scr folder with my .png's, set the loading type to "external". Because I don't want the .png's compiled into my application .swf.
But how do I get a hold of my raw .png's from within my classes?
I can do:
var obj:AComponentFromSWC = new AComponentFromSWC() no problem.
But I want to do:
var pic:Bitmap = BitmapFromSWC();
Is this possible or did I completely misunderstand the use of SWC's?
This way I could let all the apps use the same SWC and it is easy to distribute all the graphics as one package and the loaded swf could share common graphics.
View 5 Replies
Sep 8, 2009
I currently have a "container SWF player" that loads SWFs externally and plays them.The sound file for the SWF is in the library of the container SWF player, because the player is using the duration of the sound file to determine how long the scrubber bar goes.The problem is, it sort of defeats the purpose of having a container SWF player if I have to create a different container SWF player file for each external SWF because there's a different sound for each external SWF.Is there a way to pull the sound file from the library of the externally loaded SWF into the container SWF player?So that depending on what external SWF is playing, it will pull the associated MP3 file from that SWF's library?
View 1 Replies
Jul 28, 2009
I have an animation that is timeline based. The file size is around 900kb for the entire project, as it has numerous images at different stages.
How does flash determine when to start playing the movie? Is it based on a percentage of loaded size or does it load assets as it moves along?
View 2 Replies
Aug 18, 2010
I am trying to load assets from an external swf. As in:
I drew a square in flash Made it into a symbol made sure to check the "Extract for Action Script" to doubly check I created an instance of it from within the asset file. went to my loader file loaded the assets.swf tried to find the class variable using "getDefininition" FAILED.
from what I'v been seeing from around the web the following code should work. (I actually copied it word for word from one of the tutorials) but it doesn't work.
import flash.system.ApplicationDomain;
import flash.display.MovieClip;
var myLoader:Loader = new Loader();
[Code]....
there should definately be class definition for XIconG though because I tried it myself from within the Asset.swf file. also I'm not sure whether this helps you, but when I tried to debug, I looked at the event.target.applicationDomain variable from the debugger menu and under it it said domainMemory = null. I don't have a clue why that is though.
View 1 Replies
Sep 16, 2011
My priority is to have a fullscreen (standard size) 1024x768 H264 video played on an ipad app compiled with flash CS5.5 AIR for iOS using the StageWebView class. This works perfectly fine. Although with no official way to communicate with the StageWebView, I can't 'remove' the video once it's done playing. Enter StageWebViewBridge which enables AS <=> JS communication.
I'm trying to get around the overall poor performance of the Video class on the iPad (1 or 2). Playing the video inside a StageWebView loading a html5 object works amazingly great (read: GPU hardware decoded h264).I do need to shut the video off after it's done playing in the StageWebView. I am packaging a .mov file encoded in H264 that plays great in webkit browsers. If I just load a webpage in the StageWebView with a tag pointing to any video file it plays perfectly fine.
Once I introduce StageWebViewBridge it changes. They want files put in a /html folder. I'm sending paths of all kinds for the players src to play and no video ever loads. The video is named 'a.mov'. I tried player.src = 'a.mov', or player.src = 'html/a.mov', or player.src = './html/a.mov' or even using the File class to get the File.applicationDirectory and resolve the file to the .nativePath. No matter what I send from AS to the JS in the StageWebView page, I cannot get it to load the video.
how to reference embedded files? I'd like to send the file to load from AS to JS and have JS reset the .src property of a html5 element. Even the File.applicationDirectory reference I make states the file 'exists', but I can never set the .src property of the element on the page. It doesn't seem to understand.
View 2 Replies
Oct 3, 2011
I have a site that contains a page with a fancybox pop up which contains a .swf.This swf loads a sound file and a thumbnail (mp3 and jpeg). When I view this by double clicking the swf it works fine, when I navigate directly to the swf in the browser it works fine, however when I try to view the embedded swf it does not load the jpeg or the sound file. I have another page which does the exact same thing except it loads a different swf which only loads a video file and this works perfectly.
AS3 code :
Code:
package www.elementalstudios.co.za {
import flash.display.Sprite;[code].....
Where the $theInner is a javascript variable that is used to set the innerHTML value of the div that I want to have containing the swf and $jUrlArray is an array of filepaths to various folders containing different sound files and thumbnails (each folder also contains the swf).The thinking is that the swf looks for the files as "sound.mp3" so the swf would assume that file is in the same folder it is in, therefore I'm only loading the swf from the different folders.
View 1 Replies
Jun 22, 2009
i am a webdesigner i do flash layouts and animation and trying to learn as2, I have a problem with one of my projex, 1=i hav to load an xternal swf video in flash 8 file,
2=at the end of playing video i have to automatically go to nxt html page. 3= i was able to do all the stuff using tutorials but in slow internet speed,my page switches to next page before completely playing the clip. well i can show u the code i used for loading video.
[Code]...
my videos duration was 75 frames,so i tried a trick,i made a mc of 90 frames and at the end of it gave the code.so at completion of 90 frms it switches to html i want that the video should play completely and switch to html.
[Code]...
View 2 Replies
Jul 8, 2009
Currently working on a project where I have to load in a ton of images and store them in corresponding arrays. The images are listed in seperate xml files bus.xml, car.xml, train.xml. The structure of the 3 files is the same e.g.
<images>
<image>car01.gif</image>
<image>car02.gif</image>
<image>car03.gif</image>
</images>
Now inside of the main class I have arrays for the images.
var busArray:Array;
var carArray:Array;
var trainArray:Array;
How would I create a function to recursively read each XML file and load the images into the array. I only want to create one Loader class. The bit that confuses me is how do I do the loop to load each file and once its loaded one file move onto the next until all the files from that XML file are loaded.
I thought it might be something like this,
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.CO MPLETE, imageLoaded);
for(i = 0; i < xmlFileLength; i++) {
loader.load(new URLRequest("car01.gif"));
} private function imageLoaded(e:Event) {
//add image to its array
//move onto next image
}
What I am thinking I need is a Flag of some sort to say the previous image is loaded. Move onto the next, but not sure how to structure it.
View 3 Replies
Feb 10, 2011
I want an air application to be able to update the assets it uses, but minimizing the download needed, so only downloading files added since it last updated.I'm thinking this would include a server portion which would zip the needed files based on a version number? Has anyone implemented anything similar / got any thoughts on the best approach to building this sort of system?
View 1 Replies
Jun 29, 2010
My client wants to take all the Flash games on their website and put them on a portable device that's not connected to the internet. I need to make sure that the swfs are completely self contained, in that they do not require the internet to load any swfs or other assets. The client does not have any of the fla's, so my plan is to download the swf and decompile it with Sothink, and then search the AS for these methods:
URLRequest
loadMovie
loadMovieNum
If the search returns results then I'll assume the game is loading something and that game will not be used. The client doesn't want to put any development time into this, so it either goes on the portable as is or not at all.
View 6 Replies
Jul 19, 2011
without having to hardcode a username / password in my .swf file (very easy to decompile!), is it possible to send a URLRequest for some file (perhaps .php?) to a loader object which can load assets that reside in password protected directories?my PHP skills are weak at best, so if calling a .php script is the solution.
View 2 Replies
May 20, 2010
This is sort of a repost, but because this thread is in the AS3 section the subject is inherently different because this board doesn't have anything to do with Flex.So, I want to put a bunch of assets within one file (SWF maybe) and load it at runtime. Then I want to be able to access these assets after I've loaded the file.As is visible by my previous thread, I have no idea where to begin, but I know it's "absolutely" possible and obviously very useful.
Even if the loaded file isn't an SWF file, I'm fine with it. I would prefer to be able to store vector graphics in it though, maybe even produced in CS3/4/5 (because that's what my friend's using to draw said graphics).Looking forward to hearing from some of you over here--now that the thread has a more general subject.
View 0 Replies
May 27, 2011
Is there a way to execute code (like a preloader) before loading the embedded assets? I'm using the [embed] tag with CS5, and I'd like to avoid using an external preloader.
View 9 Replies
Aug 13, 2008
I've been using a fairly un-dynamic approach in AS3 as until now when it comes to loading assets, but now I'll be trying to adapting a current project to fit other clients with different needs which means I'll have to grab the bull by the horns. I have an XML with a list of images that will be used, which is reused multiple times in each project. So I'm wondering if there's a way to load an image using the loader-class, and making it reusable? Being able to attach said asset later to a placeholder inside a movieclip I have stored in the library would be ideal.
I managed to load it into a movieclip but duplicating it from there on was a bit of a headache, using an approach similar to this would be great(but I have personally no idea of how to implement it): [URL] Here's the current code I'm using, in case it helps understanding what I'm after(it's most likely really ugly compared to what you SHOULD be doing in as3):
[Code]...
View 3 Replies