TLF in pure AS3 project?? Big swc woes...

I'm trying to find any info on using TLF text in a pure AS project (using FDT), but quickly finding myself getting confused by it all.
My normal workflow when laying out text is to
- use Flash Pro to lay my text out within a MovieClip,
- set that MovieClip for export in the library,
- publish a swc,
- add that swc to my classpath in FDT so I can add the it to the stage etc.
Now.. I get the way that if you're using Flash Pro to compile, you end up with the 160kb swz file which is only downloaded by the user if it's not been cached already on their machine. All very clever.
But... the moment I stick a TLF textfield into a MovieClip and publish a SWC, that SWC is 406kb (which is added to my project when I include the movieclip with the TLF TextField).
Why so big??? Why is it so much bigger than the 160k that the swz file is??
Even if I had to embed the TLF framework within my swf I could just about swallow the 160k hit, but 406k is a LOT.
Am I missing something?

Okay well I was missing something after all.... I realised that compiling from FDT in Debug mode was causing the big file size. My swf is 578k in Debug mode, whereas if I use Run mode it's only 291k which I can live with.

Similar Messages

  • Pure AS3 Project unable to resolve resource bundle

    I've been working on a pure AS3 project in Flash Builder and all has been going just fine. All of a sudden, I started getting errors such as:
    Unable to resolve resource bundle "core" for locale "en_US". Player Unknown Flex Problem
    What in the heck did I likely do?  Any hints welcome.

    I jut saw the posting today.
    Place your local folder in application root
    In project properties : Flex Compiler Argument : additional compiler argument : -source-path ../locale/{locale}
    add this.

  • Exporting/Using SWC in pure AS3 project

    Hi,
    I have multiple movieclips, each with 5 image-movieclips inside, which allows me to manipulate which image-movieclip is displayed in an animation. So, if image-mc1.alpha = 0, then image-mc2, next in the 5 layers, which has a default alpha of 1 is displayed. 5 image-mc's, so can use alpha to show whichever is needed.
    There are 37 of these image-mc's in the project.
    Instead of a FLA based project, I would like to try a pure-AS3 version, maybe compile using Flex/AIR SDK. One way to re-use these complex mc's would be a create a SWC for each (not sure one SWC with all 37 can be created in CS6, or how each would be called in the script?).
    When I try this, using one multi-mc/multi-layer mc exported as a SWC and try to reference its internal mc's re: alpha setting, doesn't work.
    image1.imagea1.alpha = 0;//image1 is the instantiated version of the SWC's mc done as addChild(image1)
    In the FLA version, this script would cause the second mc, imageb1, which has a default alpha of 1, to display. But this is not happening in the AS3 version. Instead, image1.imagea1 still displays, no alpha effect.
    Any way to get this to work?

    Again, thank you.
    I guess what I'm not clear about is how to add/call each in the script. For example, the mc's are p1...p37. (As mentioned, each of these has 5 subordinate mc's inside with images.)
    So, if I create all 37 as class P, how would I instantiate each one of the 37 separately?:
    var p1:P=new P();
    addChild(P.p1);
    //and
    var p2:P=new P();
    addChild(P.p2);
    //etc...
    var p37:P=new P();
    addChild(P.p37);
    Then
    displayF("p37.imagea1");
    I'm not sure how to reference/script these.

  • Cleaning Up Vector (array like) in pure AS3 project

    I have been learning a game type animation from a tutorial at this site: http://www.emanueleferonato.com/2011/11/08/as3-version-of-nodes-engine-full-playable-game- with-infinite-solvable-levels/. Source code there online and also available for download.
    Want to try to set up additional levels of difficulty, involving adding more draggables and targets. In order to change this level during a game, (with a set of radio buttons and change handler noting the change in radio button selection) using a pure AS3 and single frame necessitates removing (cleaning up) the draggables and targets already placed on stage in 2 Vector type arrays.
    Have tried various versions of removeChild, removeChildAt with no success.
    Here is the relevant AS3. Maybe someone could suggest a way to clean up/remove all Vector members before the new ones are instantiated on stage. If not removed, they end up at 0,0, one atop the other, while the new ones are randomly placed onto the stage.
    Thank you for your help.
    public class Main extends Sprite {
            private const DRAGGABLES:Number=4;
            private const TARGETS:Number=5;
            private var draggableNode:DraggableNode;
            private var target:Target;
            private var laserCanvas:Sprite=new Sprite();
            private var draggableVector:Vector.<DraggableNode>=new Vector.<DraggableNode>();
            private var targetVector:Vector.<Target>=new Vector.<Target>();
            private var isDragging:Boolean=false;
            public function Main() {
                addChild(laserCanvas);
                placeDraggables(false);
                placeTargets(false);
                shuffleDraggables();
                drawLaser();
                stage.addEventListener(MouseEvent.MOUSE_MOVE,moving);
    private function placeDraggables(justMove:Boolean):void {
                for (var i:Number=0; i<DRAGGABLES; i++) {
                    if (! justMove) {
                        draggableNode=new DraggableNode();
                        addChild(draggableNode);
                        draggableVector.push(draggableNode);
                        draggableNode.addEventListener(MouseEvent.MOUSE_DOWN,drag);
                        draggableNode.addEventListener(MouseEvent.MOUSE_UP,dontDrag);
                    do {
                        var wellPlaced:Boolean=true;
                        draggableVector[i].x=Math.floor(Math.random()*600)+20;
                        draggableVector[i].y=Math.floor(Math.random()*440)+20;
                        for (var j:Number=i-1; j>=0; j--) {
                            if (getDistance(draggableVector[j],draggableVector[i])<150) {
                                wellPlaced=false;
                    } while (!wellPlaced);
            private function placeTargets(justMove:Boolean):void {
                for (var i:Number=0; i<TARGETS; i++) {
                    if (! justMove) {
                        target=new Target();
                        addChildAt(target,0);
                        targetVector.push(target);
                        target.alpha=0.5;
                    do {
                        var wellPlaced:Boolean=true;
                        var segment=Math.floor(Math.random()*DRAGGABLES);
                        var p1:Sprite=draggableVector[segment];
                        var p2:Sprite=draggableVector[(segment+1)%DRAGGABLES];
                        var angle:Number=Math.atan2((p2.y-p1.y),(p2.x-p1.x))
                        var targetDistance:Number=Math.random()*getDistance(p1,p2);
                        targetVector[i].x=p1.x+targetDistance*Math.cos(angle);
                        targetVector[i].y=p1.y+targetDistance*Math.sin(angle);
                        for (var j:Number=i-1; j>=0; j--) {
                            if (getDistance(targetVector[j],targetVector[i])<50) {
                                wellPlaced=false;
                        for (j=0; j<DRAGGABLES; j++) {
                            if (getDistance(draggableVector[j],targetVector[i])<50) {
                                wellPlaced=false;
                    } while (!wellPlaced);

    about coding, this is an excerpt from a book i wrote (Flash Game Development: In a Social, Mobile and 3D World),
    it's taken from a chapter that shows how coding typically evolves for a novice with a main idea and then progresses as more and more features are added:
    Everything works the way it should but there is a major problem. Actually, there is more than one major problem and there are some minor problems but I will address the biggest problem, first: my Main class is quickly becoming a mess.
    I have all this code for controlling player in Main and I will need more code which will make Main an even bigger mess. In addition, I will need to add an introduction view (by view, I mean what is presented on-stage) to give some information about the game and I should probably allow users to customize the keys they use for movement. Not everyone likes using the arrow keys. (Heck, I do not like using the arrow keys.) In addition, I will need a game-over view, eventually.
    I am heading for a major mess in Main. So, while I can continue to put all my coding in Main, that is just like putting all your code in frame 1 of the main timeline and that bypasses one of the biggest advantages of OOP, encapsulation.
    By encapsulation, I mean each class should contain only the information it needs to do its job. I want my Main class to control which views are presented on-stage. When the game starts, Main will add an intro view. When the user is finished with the intro view, Main will remove the intro view and add the game view (where the player and enemy tanks will fight) and when the game is over, Main will remove the game view and add the game over view.
    I will use an IntroView class to control what happens in the introduction view and I'll use a GameView class to monitor what happens when player and enemy fight and an EndView to control what is displayed when combat is over - maybe the user's score or a taunting message.
    I do not think I want the GameView class to control the fighting. I want all the code that controls player to be in the PlayerTank class and all the code that controls enemy to be in the EnemyTank class. That will simplify Main so it is easier to work with, will provide better encapsulation and will make it easier and faster to find the code I need to edit when changes and additions are needed.
    While I am simplifying my code, I am going to create a keyboard controls class (KBcontrols) to store the key codes for moving left, right, up and down. I'm going to use static methods so I can assign those key codes in IntroView and use them in PlayerTank.
    I do not want to be forced to pass those key codes back-and-forth because I am going to have one PlayerTank instance in IntroView (so users can test the keyboard controls) and a different PlayerTank instance in GameView. In addition, I may later want to allow users to re-define the keyboard controls while in GameView or elsewhere. I could make KBcontrols a singleton class but I feel like making it a class with static properties for no special reason.
    (Actually, I already used a singleton class in Chapter 4 for a shape-based hit test that I showed in the BitmapData section. So, showing the other way to make data easily available among several classes is reasonable.)
    There are quite a few things I am thinking about adding (like scoring and a timer and enemy intelligence etc) and I do not know exactly what classes I'm going to have at the end of this project and I sure do not know all the code that will be in each class that I anticipate will be needed. That may be a little unsettling but it is how applications and games evolve (at least, when I am the developer).

  • Brain Fart on pure AS3 Project

    I Generally hang out in Flex Land, but by no means would be considered a new guy to the world of AS3.  I am currently creating a pure AS3 app and I can't get the darn thing to get a BG color. I  have the following:
    package
    import flash.display.Sprite;
    [SWF(width='800',height='600',backgroundColor='0xff0000',frameRate='24')]
    public class Surprise extends Sprite{
    public function Surprise(){
    this.graphics.beginFill( 0xff00ff, .5 );
    this.graphics.drawCircle( 0, 0, 10 );
    And all I see is that little purple circle, no Red BG. I hope I am missing something foolish, for i feel quite foolish posting such a stupid question on line. 
    Thanks.
    -Andrew

    Turns out the code was fine, I looked at the HTML that was being generated to render the AS3 file, and that was crap.  Deleted the bin-debug folder and it created new html for me and works great.    

  • How to use TestRunnerBase in pure AS3 / no MXML

    Hi,
    is there a way to use the testRunnerBase GUI for a pure AS3 project, without a mxml?
    Thank you

    Hi, the testRunnerBase is a Flex application, so you can't use it in a pure AS3 environment without including all of the Flex dependencies.

  • Using Consumer Object in an AS3 Project

    Hello,
    I'm currently testing BlazeDS and especially Data Push, on
    swf side, everything is fine when i do my tests with a Flex project
    ( with a mxml file ) but i'd like to use this feature in a pure AS3
    project with no mxml
    For a classical remoting use, everything is fine with
    NetConnection and a Responder, but is there a way to handle
    messages sended by server as a Consumer object (like in the mx
    package of flex), but in a pure AS3 project ?

    You need to wrap the Ball in a UIComponent and then add it:
    var ball:Ball = new Ball();
    var uic:UIComponent = new UIComponent();
    uic.addChild(ball);
    this.addChild(uic);
    If this post answers your question or helps, please mark it as such.

  • There are some strange problems when i used swc files in my as3 project

    Hello everyone,
            My development environment:  fdk4.0,  flash cs5.5,  I publish fla file by using flash cs5.5,   publish setting is  fp version :10.0&10.1 ->swc. I imported swc files to my as3 project and  complied them by using flex sdk4.0. When i run my project,fp was crash.   when i republished on fp 10.2, the project works. Is there any reason?
            another strange problem, for example   a MovieClip's aslink named "A" in swc, it has a textfield named "subText".  I write code like below:
                            var mc:A = new A();
                            mc.subText.text = "test";  
             when mc called "subText" , fp throws null property error, it can't find  subText..  very small number of movieclips have this problem,  I sloved this by duplicating a new one and rename it.
             but i don't  know why ? 
              thank you for your reply.

    I should have figured that out from your original post. I think there is a possibility that your bookmarks/history database (places.sqlite) has a corrupted record. Rather than take drastic action on that immediately, could you do a test? The test is to exit Firefox, rename your existing database, and restart Firefox. Firefox should import your last bookmarks backup. You then could check whether the problem remains or whether you got a clean restore of bookmarks. After the test, assuming you prefer to retain your history, you could undo the procedure and try restoring your bookmark backup into the database to see whether that overwrites the problem record. If not, then we would go back to possible drastic action.
    '''Test procedure''':
    Open your current Firefox settings (AKA Firefox profile) folder using
    Help > Troubleshooting Information > "Show Folder" button
    Switch back to Firefox and Exit
    Pause while Firefox finishes its cleanup, then rename '''places.sqlite''' to something like places_20130614.sqlite. Keep this window open.
    Restart Firefox. By design, Firefox should import your last automatic bookmark backup.
    If you return to the Library dialog, how does it look?
    '''To reverse the test''' (but preserve a backup of your history/bookmark database):
    Exit Firefox
    Delete the newly created places.sqlite file
    Right-click copy and paste the places_20130614.sqlite and rename the copy to places.sqlite
    Restart Firefox and open the Library dialog. Should look like it did a few minutes ago before any changes.
    ''If the test showed no corruption,'' try to restore your last bookmarks backup. The procedure is described in this article: [[Restore bookmarks from backup or move them to another computer]].
    Does any of that get us closer to a solution?

  • Distinguish between pure AS3 and Flex project

    Hey,
    how can I distinguish if I am compiling currently an AS3 or a Flex project (mxml vs. pure as)?
    I acutally want to look something up in the "evaluate" method of a GenerativeFirstPassEvaluator before doing the processing. So I need to know it there.
    Any help is much appreciated.
    Best,
    Joa

    MXML is converted to AS3 code as part of the compilation process, then the AS3 is compiled normally like the rest of the project. I don’t think that GFPE is run over anything but an AS3 tree. There
    may be a way to figure out where the original source came from, e.g. .mxml or .as file, but you’d have to interactively debug and scan the data structures — I don’t know off hand.
     - Jono
    From: Joa Ebert <[email protected]>
    Reply-To: <[email protected]>
    Date: Mon, 31 Mar 2008 05:40:13 -0700
    To: <[email protected]>
    Subject: Distinguish between pure AS3 and Flex project
    A new discussion was started by Joa Ebert in
    Developers --
      Distinguish between pure AS3 and Flex project
    Hey,
    how can I distinguish if I am compiling currently an AS3 or a Flex project (mxml vs. pure as)?
    I acutally want to look something up in the "evaluate" method of a GenerativeFirstPassEvaluator before doing the processing. So I need to know it there.
    Any help is much appreciated.
    Best,
    Joa
    View/reply at Distinguish between pure AS3 and Flex project
    <http://www.adobeforums.com/webx?13@@.59b4da24>
    Replies by email are OK.
    Use the unsubscribe
    <http://www.adobeforums.com/webx?280@@.59b4da24!folder=.3c060fa3>  form to cancel your email subscription.

  • Flex builder with AS3 project

    Hi,
    I am developing a Flash game using as3, I chose flex Builder with an AS3 project. Now I am thinking that if selecting the project to be a flex project instead of as3 project I would have a lot of flex functionality like a swf loader,preloaders and the popup manager etc. The graphic components would obviously have been made in flash and used through the swc (avoiding the heavy mxml components).
    Need to know what other developers think of this approach.

    You must include in library:
    ${FRAMEWORKS}/locale/{locale}

  • Pure AS3 self-preloader

    My project originally had everything on the timeline, but I have since moved all the code to the document class, but some of my assets are still in the library and some of them are embedded. I'm trying to make a self-preloader that doesn't use any external files, but I can't seem to find a good tutorial that doesn't involve using the timeline. Can anyone point me to a pure AS3 self-preloader tutorial or tell me where I'm supposed to put everything?

    If you mean by "self-preloader" a pure Standalone as3 preloader:
    var l:Loader = new Loader();
    l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
    l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
    //this line has to be adapted to the name of your document class
    l.load(new URLRequest("main.swf"));
    function loop(e:ProgressEvent):void
        var kBytesLoaded:int = Math.round(e.bytesLoaded/1024);
        var kBytesTotal:int = Math.round(e.bytesTotal/1024);
        var perc:Number = kBytesLoaded / kBytesTotal;
        trace("PERCENT:"+perc);
    function done(e:Event):void
        //this line for the stuff you might need to visually communicate the loading process and want to remove when loading is done
        removeChildAt(0);
        addChild(l);

  • AS3 project development into Flashbuilder

    I have been using Flex3 for mxml flex RIA development and I do pure AS3 development with Flash CS3 resources, which in most cases I code in Flex Builder but test and compile in Flash AS3. Twisted I know but the reasons are simple:
    1. I can't access the fl components packages in Flex Builder easily (I have heard of ways to do so but having had a chance to research).
    2. I am often using resources from the library in a .fla file
    3. Clients in most cases have Flash but not Flex and expect a FLA
    4. I also use systems like SWFAddress so I need to compile to a .swf and test live or test the .swf in a standalone player
    Request:
    So firstly I know flex has its own components that are part of the framework but why not give us Developers easy access to the fl flash components (hence Flash Builder)?
    There needs to be an easy way of importing and using a FLA based AS3 project in Flash Builder. I heard about a Flex component that does that but why not at least give access to the library content off a FLA?
    I noticed it expects an AS3 project to be set out as Flex Builder does, using an application .as file named as that project. In the launch configuration you need to be able to browse and set your own application .as (that maybe the document class from the FLA). This would help the above request by letting users export/test in their current file/folder structure.
    Just my intial feedback.
    Cheers
    Elliot Rock

    Also, the best (and most official) way to suggest features is to log an enhancement request in the public Flex bug base at http://bugs.adobe.com/flex/.
    You may want to search to see if these have already been suggested and if so, vote on the issue. If not, file a new enhancement request and encourage people to vote on it.  

  • Use mx and spark components in pure ActionScript project?

    I'm working on an AIR project in Flash Builder 4, but I'm not using MXML at all (pure ActionScript). Is there a way for me to instantiate and use mx and spark components without MXML? If not, what is the minimal amount of MXML I have to use? FYI, I've already tried all of the following hacks with absolutely no luck:
    http://www.actionscript.org/forums/showthread.php3?t=143062
    http://ersatz.tv/2009/off-topic-flex-components-without-mxml
    http://stackoverflow.com/questions/141288/possible-to-use-flex-framework-components-withou t-using-mxml
    I much prefer ActionScript over MXML. Why does Adobe have such a hard-on for this MXML ****?! It's like all that code and all those great components are going to waste.

    Me too.. . I'm a pure as3 guy and all these components go to waste. You would think they would allow people to generate components via mxml or as3...

  • Scrolling Mobile List in Pure AS3?

    I'd like to use a scrolling list in one of my AS3 mobile projects. I like the one built for Flex, but I do not wish to use flex as that would be overkill and I already have the project written in AS3.
    Does anyone know of any pure AS3 scrolling list components for mobile?
    thanks,
    Jack

    That's the flex component I wish to immitate. But since I am not using Flex, I cannot use the spark component. (I wish I could use spark components, but Adobe built them in such a way that is nearly impossibnle to use in a non-flex project.)
    I am hoping there is a pre-built nonFlex, pure AS3 equilevent. 

  • Mobile apps in pure AS3

        Hi there,
    I'm wondering what components (such as list control, buttons, date picker and so on) others are using  when they develop pure AS3 mobile apps for IOS.  Is there a book that you can suggest for me to help understand how components are built in AS3?
    Thanks

    If you want performance you'll need to use Stage3D to utilize the GPU. The flash/flex display list will never match the speed of Stage3D. The mx and spark components will never feel as 'native' as coding in objective-c until they literally transcode from AS3(4?) to Obj-c and compile to arm. Spark is more optimized than mx so it does make MXML (Flex) a viable alternative. It certainly does not feel native however.
    You should really consider how 'native' you need it to feel. People, I find, are quite tolerant. You may be trying to overachieve in an area that less important than the actual functionality your app provides. Users will use an interface that's not buttery smooth if you actually provide a service they desire.
    Pure code is just if you really want to do everything yourself.  There's really little out there to help you. The essence of going the "pure AS3" is that you are going to code it all yourself. All my projects aside 2 are pure AS3 and I rely on Starling/FeathersUI heavily to provide the closest to "native like" feel. For the only truely "native like" feel, you'll need to code entirely on the GPU.
    There's nothing built-in like Flex shares data view to view. If you go pure as3 and write your app all on your own terms then simply keep that desire in mind from the start and code yout hand made view system to either pass references to the data or make a singleton registry to share data. Overall, in pure as3, be prepared to do it all manually. You have little to none of the automation of Flex.

Maybe you are looking for