Flash :: Loaded Swf Doesn't Appear When Referencing One Of Its Control By String
Apr 11, 2011
I have in main:
[Code]...
then MySWF doesn't show up on stage whereas with aSlider.addEventListener(SliderEvent.CHANGE,OnSliderChange);
it does appear. I need to use this["aSlider"] because of this [URL] as pointed by [URL] to my previous question.
But when I do this, since the movie is not loaded the file is not compiled and gives me an error your referring to something that is not there. How else am I supposed to reference a content that will be loaded later?
Im working on a project that has a main swf file associated with the document class. It loads XML that provides the text content for the project, then it loads a swf that contains a font in its library, then it loads the first of several content module swfs. When the font swf has inited, I'm registering its library font with Font.registerFont(), and using it in a TextFormat object. After everything is done, I can add code to the document class to create a text field on the stage of the main swf and format it successfully with the TextFormat object, but when I try to do the same thing inside the loaded content module swf, the text doesn't show up there at all.
I need to know how to call or reference (not sure of the terminology) an object by way of a string. What I'm trying to do is create a loop that will add event listeners to objects named "portfolio1" through "portfolio15", and use a function.[code]If I could just reference these fricken objects through a string and an integer, I could set up a small loop like this to make the button "portfolio1" bring up a big jpeg of "bigportfolio_1", and "portfolio2" bring up a big jpeg of "bigportfolio_2", ext. While yes, I could just go through them all and set up event listeners to each one individually, but its REALLY inefficient. Also, I am still working on more advanced actions (like scrolling through the portfolio pics chronologically) that absolutely requires a different reference method.
I really need to reference the variable while INSIDE the onRelease function, because I need to apply some actions based on how many times the button has been pressed.
Basically I'm trying to get a certain section to open when it's corresponding button is pushed The button has an instance name of "home" The section I need to be able to reference is labeled "home_mc"
[Code]...
My gut tells me the code should work, but every time it runs through, I get "Actionscript Error:#1065: Variable home_mc is not defined."
Is it possible to use a class name stored in a string and pass it as a parameter??I'm using the push method in a flex mobile project. I have the name of the view I would like to pass into the push method stored in a string. But the push method only accepts it as a class not a string.How do I use a String to load or pass the class name to the method?
var NameClass:Class = "views.Contact"; navigator.pushView(NameClass);
I want to pass a variable to my Flash .swf file through a query string.In my Flash movie I have an animation of 2 goats fighting, I want the query string to tell the movie to skip to the end of the movie if variable goats==attacked. I used the following ActionScript:[code]The problem is that no matter whether I attach the query string goats=attacked at the end of the html address or not the movie never skips to the end.
I am working on adding functionality to where the URL takes in a parameter as defined by an MVC style looking way.eg. (URL... )where 12345 is the corresponding Id number that I want to get.I have this functionality working.I am using Internet Explorer 7.My issue is that when a user attempts to enter a new query string id into the URL, the page doesn't refresh when the user hits enter or the refresh button. (The user can navigate to the url/#/Id/12345 only when opening a new window/tab)Does anyone know if this is a feature that doesn't work in Flex or if there is some code or configuration needed to allow this?
I have a swf that is loaded into my main swf with the loader class. When I click a button in the main swf I want to call a function in the loaded swf Main class.
When I do a trace it is showing the loaded clip as [object Home] which is the name of the Main document class associated to the loaded swf. I have a public function in my Home.as called startAnimation() but when I try to call it I get
[quote]1061: 1061: Call to a possibly undefined method startAnimation through a reference with static type flash.display:Sprite.
The following code gives me an error:1119: Access of possibly undefined property sp1 through a reference with static type flash.display:Sprite.Not sure how to get around this issue... these things used to work in as2, I guess not anymore in as3...
---------------------------------------------------------------------- ------------------------------------------------------- loader = new BulkLoader("timelineLoader");loader.add(ExternalFiles.TIMELINE_SWF);loader.addEventListener(BulkLoader.COMPLETE, onCompleteHandler);loader.start();
I just poked around google as well as these forums, but the only answer I am seeing that was successful, is from kglad, and for some reason his posts are not showingAnyway, I am just trying to figure how to reference a frame label on my main timeline from a loaded swf (through my imageLoader).
The starting point is that I load an external PNG file into an open SWF application with the following code:
--------------------------------------- var loadListener:Object = new Object(); loadListener.onLoadInit = function():Void { //do certain actions - not relevant for my question };
[code]....
That works fine. The problem is how can I later reference to 'flower02.png' as BitmapData which is loaded as a movieClip into the movieClip 'mc1' to execute certain BitmapData methods like in particular 'copyPixels()'?I'm aware that I could use:
--------------------------------------- import flash.display.BitmapData; var libId:String = "flower"; var flowerBmp:BitmapData = BitmapData.loadBitmap(libId); ---------------------------------------
In this way I could reference my BitmapData by its variable identifier 'flowerBmp'. But this would require that my 'flower02.png' is already in the library which is not possible for my purpose.
I'm having trouble referencing variables in a loaded movie. I read in other posts that you simply refer to the variable as if it belongs to the clip you load it into, however this doesn't seem to be working for me
I'm creating a web site with multiples swf files, the navigation is controlled via drop down menu, i have resolved the script for the drop down menu main buttons and i need to control the timeline of the movies loaded with the drop down menu main sub buttons to navigate into specific frames this is what i got:
So I am using the following code to load an external swf and am trying to reference the timeline of the loaded movie i.e. a frame label. Say I wanted to do a simple gotoAndPlay what is the syntax? I would use (myloader.gotoAndPlay ("framelabel") this seems like an obvious answer but doesn't seem to work for me.
Code: Select allfunction yesClick(event:MouseEvent){ /////// Loader (Loads External SWF lesson file) ********************************** var myLoader1:Loader = new Loader();
I'm working on a project that has a main swf file associated with the document class. It loads XML that provides the text content for the project, then it loads a swf that contains a font in its library, then it loads the first of several content module swfs. When the font swf has inited, I'm registering its library font with Font.registerFont(), and using it in a TextFormat object. After everything is done, I can add code to the document class to create a text field on the stage of the main swf and format it successfully with the TextFormat object, but when I try to do the same thing inside the loaded content module swf, the text doesn't show up there at all.
The problem is that it executes #Second before #First, which means that the object is not fullly loaded but the code continues nonetheless. Is there a way handle this? I have tried using a while loop, but this is ugly and makes flash crash. Is there any decent way to handle this, does it have to do with better code structure/program flow or is there a technical way to make it wait? Also note: This code is executed on the server side, which means there are no frames involved.
UPDATE:When projects get bigger, this gets very ugly, especially when you are retrieving mulitple things from a server, you have to use very deep nesting, you have to keep repeating the same code, example for buying a serial:
I have three btns on stage, clicking on each one i want them to load an external mp3.The problem is the previous loaded sound doesn't stop when a new one is loaded so I have all sounds playing at the same time
As far as I know, Flash doesn't know the exact length of an MP3 loaded via URLLoader (or similar) before it's actually fully downloaded. There are ways to approximate it but they are close to zero precision to me:
I have a widget containing a number of displayobjects, i.e. up arrows, down arrows, tab 'buttons', backgroundrectangularblocks, sliders, company logos etc.I am currently creating these displayobjects using the graphics class with parameters taken from an external file, things such as fontsize, font, colour, width, height e.t.c and adding them as children of "container" sprite objects for easy manipulation and referencing later can these assets be loaded in their entirety externally, rather than being created using graphics class draw methods (which I want to avoid) as some of the things I need to design cannot be created in pure actionscript very easily (if at all?), and then used or do they always have to be in the library and instantiated from there?
if the first question is yes they can be loaded externally, this question probably isn't needed; however, if I have to put the items in the library and recompile each time a client wants to use say a curved blue up arrow instead of a yellow one and then decides he wants a yellow circle instead then how do I write the code to do the following:-Say on my first ever compile I have 'upArrowBtnset1' in the library, I instantiate it and use the instance name to access it in the usual way using standard code,
Now if they send me a second set of 'upArrow' graphics they want to use I could either update all the upArrowBtnset1 assets with the new graphics meaning the original set is no longer available to the client and I would either have to hold a "original set" FLA file with the first set of arrowbuttons or I could import these to the library as upArrowBtnset2 and a third set they send as upArrowBtnset3 and so on each time I am sent some new assets; I would then recompile them into the SWF and adjust the references to the new assets within the code. In the code, for each instance of "upArrowBtnset1" I would have to rename them to "upArrowBtnset2", recompile and send it back to the client.
Because I have already abstracted the font/colour/size choices out to an external file, they can change that as much as they like without a recompile which is what we want. The problem comes if they want to use set1 again and haven't kept the original "set 1" compiled SWF. It would be easier to abstract the 'setchoice' also to the external file. The SWF would over time build more and more available sets that they could use by just changing an external variable.
For example, if the designer wants to use set 1 on Monday, set 2 on Tuesday and set 3 on Wednesday I want to make it so they can just adjust an option in an external file to "setchoice = 3" for weds instead of either having to recompile the swf each time or they have to have 3 versions of the SWF for each asset set. The idea is that as more and more assets are added in, they have more and more choices. Ideally, in an external file there would be a list of assets and links to where they are loaded from. (i.e question 1 above).
If I have an external file (say XML) which holds the setchoice option that the designer wants to use (say they want set3 today) my 'generic' code has to be something like upArrowBtn(setchoice).scaleY and every instance in the code where that object is used I append the 'setchoice' as chosen by the designer from the external file where (setchoice) is retrieved from something like var setchoice:String = "set3"; from the external file (I am currently abstracting all the adjustable variables to a configuration.as file. I will work on using an XML later when the principle of external files works (I hope!);
Is it possible to import assets from external sources and then use them in the SWF as if they were in the library? The loader class? Is this just fraught with danger I wonder.
Essentially I am being asked to remove as much as I can from the SWF so that if the client wants to change the positioning of things on the stage or the text on buttons or change the style of the buttons or the company logo they don't have to come back to us to ask for a recompile of the SWF for each tiny adjustment. Inevitably SOMETIMES a recompile will be unavoidable (such as if they want the widget to suddenly be twice as wide (i.e. the stage). My code already handles some of this using stage.stageWidth and then positioning objects relative to other objects already on the stage using this value and centred so that just changing the document properties is all I would have to do and everything else adjusts proportionally. I am trying to make this as reusable as possible with as little effort from myself as possible to save our company wasted time.
After all that waffle, my question is this, if I can't load all my buttons and assets and things externally, how do I write the code for this:- I have a library asset called upArrowBtnset1 and another called upArrowBtnset2. Instantiated with say upArrowButtonset1 and upArrowButtonset2 The code would normally be upArrowButtonSet1.x = 100; upArrowButtonSet2.y = 300; but I need it to be upArrowButton(setchoice).x = 100; upArrowButtonSet2(setchoice).y = 300; where (setchoice) comes externally from var setchoice:String = "set1";How does the code change if the (setchoice) string was named not at the end i.e 'button(setchoice)UpArrow'?
ActionScript Code: var numClips:Number = 5; for (var i:Number = 0; i < numClips; i++)
[code]....
I need to do something like, getChildByName("mainTab"+i).addChild(myMovieClip) ? or maybe this["mainTab"+i].addChild(MovieClip)?Is it possible without using .name?
Ok, so I have tried and tried to figure this out. Of course in the test environment everything works beautifully, but when I test my swf on my site, thats when the sh*t hits the fan.
The problem is my buffer bar wont show up until the video is completly loaded. In flash however, it loads across as the video is downloaded, like it's supposed to.
Go to my site to see what I am talking about. The loader bar appears uder the progress bar, exactly like on youtube. www.blankensteincreations.com
What I am trying to do is capture the name of the button which is clicked and add "hl" to it, which is the name of another movieclip already on stage. This part works. Then with that modified name I want to set the visibility of the second movieclip, ie "popUp0hl", to true. This is not working. None of these MCs are created dynamically by the way.
var highLight:String = evt.currentTarget.name + "hl"; //This traces out fine this[highLight].visible = true;//Here is the problem area
I'm working on a video player with full screen capabilities. I have the control bar set to tween in and out of the video screen with a mouse event. I'm also trying to position the control bar at the bottom of the screen when it's in full screen mode. My problem is that the control bar doesn't reposition when in full screen because of the tween functions. I'm thinking that whatever solution comes up that I might go in the if statement of the full screen code.
MainMove.swf is doing a loadmovie of SecondMovie.swfThe Button that loads SecondMovie.swf also disables other buttons in MainMovie.swfon (release) { _root.intro_btn.enabled = flase; loadMovieNum("SecondMovie.swf", 2);How do I Re enabled the Buttons in MainMovie.swf from a Button within SecondMovie.swf???