ActionScript 3.0 :: Flash Exteneral Swf Instance Name And Parent Communication?
May 24, 2011
In a nutshell, this project is an eLearning course template. It needs to be able to load/unload individual page swf and these page swfs need to communicate back up the chain to some level for this like module / course completion. On the stage I have a pageLoader_mc linked to a PageLoader class. What I need up doing is added my LoaderObject to the display list of my pageLoader_mc MovieClip:
The Swf of the course loads. When you go to another page after it unloads the SWF I get an error:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::AVM1Movie@37710d61 to flash.display.MovieClip.
at PageLoader/loadComplete()
The Overall question, is how can I instance that loaded SWF so I can listen to custom events? In my loaded swf I guess I can "MovieClip(stage.pageLoader_mc).CallMyFunction "
How do I do this? Inside the parent swf myVar value is set by query string value loaded in by swfobject var myVar = _level0.part; // i have the value 123 here ..all good so far
[Code]...
Always childLog.text is undefined :( - so how to access the value of myvar from the child?
I'm very new to AS3. Luckily I succeeded loading an external swf into the main swf. Now I want to add a remove btn, so when the movie is finished playing, user would be able to click the btn to unload the external swf ( both unload movie + all sound). What should I change here to communicate it to the parent movie?
I'm very new to AS3. Luckily I succeeded loading an external swf into the main swf.Now I want to add a remove btn, so when the movie is finished playing, user would be able to click the btn to unload the external swf ( both unload movie + all sound). What should I change here to communicate it to the parent movie?
I have a blank fla with a symbol in its library. The symbol, a MovieClip, has timeline action in it. It's about 15 frames long. I want it to tell the MainTimeLine when it's done.I must be going about it the wrong way.First, I make a variable to hold the child.I call the MovieClip from the library, a new instance of itself, declare it a child of the MainTimeLine, and add it.From within the child, I trace it's parent. I get "MainTimeLine".I create a Boolean on the mainTimeLine.When I ask it to set the Boolean, I get the error message:1119: Access of possibly undefined property currentFrame through a reference with static type flash.display DisplayObjectContainer.I've attached a zip of the fla.
In short, this is what im trying to do: Communicate from externally loaded swf to main/parent .swf. On my main .swf I have this code on my main timeline to import and center an external .swf:
Code: import flash.display.*; import flash.net.URLRequest; //turn off stage auto resizing stage.scaleMode=StageScaleMode.NO_SCALE; stage.align=StageAlign.TOP_LEFT; [Code] .....
An external application sends an instance name to flash over TCP/IP.I have code that parses out the communication and retreives the instance name (not it's absolute path).I then need to retreive the instance name's parent in actionscript. The instance name that gets sent is a child of specific movieClip, there are several movieclips on the stage. I need to know it's specific parent name..the code is placed on the main timeline.
I have a "MainSWF", that loads and places other SWFs "LoadedSWF". The LoadedSWF has buttons that are supposed to make some layers in the MainSWF visible/invisble. These layers are in a placed navigation bar that is defined as a symbol, was placed on the Main Stage and given the instance name "FlashStageMainNavigation". I have a hard time figuring out how to address the layers in the MainSWF, because it seems I am missing something.
When I use a loop to trace all the child instances on the stage of the MainSWF with:
I have a stage with instances of bauble_mcs on it that are attached by the document class of the main timeline (can someone tell me what the right term is here? I don't know what I call the main time line in AS3).I then have instances of snow_mc attached by the same class. Inside the snow_mc I want to test to see if it is hitting any bauble_mcs but I don't know how!
inside snow_mc I am trying:
PHP Code:
if(this.hitTestObject(this.parent.bauble_mc)){ }
to which flash says:
1119: Access of possibly undefined property bauble_mc through a reference with static type flash.displayisplayObjectContainer.
If an object, or say... a document class, creates an instance of a class (and stores it as a variable), and it doesn't pass any arguments to the constructor of the class, can that class object, by simply having a function of it called by the parent, tell who sent it that command/request?In other words, can a class object know who called it (such as it's parent) via a (seemingly) anonymous call?
Just wondering how I reference A button that I have within a movie clip, within a movieclip to and instance on the parent timeline.At the moment I am using, but not getting the correct result:MovieClip(parent).NavBar.gotoAndPlay("About");
one of my problem is that how do i call the instance name of a button from my child.swf to my parent.swf
i have four buttons from my child.swf where when i click btn1 it will load superchild.swf but i want to load that superchild.swf to my parent.swf, like instead btn1 calls superchild.swf to load, btn1 will call parent.swf then on parent.swf it will distinguish that btn1 was click from child.swf and it will now load superchild.swf.
Simple drag and drop application where mc is dragged out of one parent mc and dropped into another parent mc.All works OK until I added 2 text boxes to the mc's -- one is a non-selectable dynamic text box (a label) which is set by the code, the other is selectable input text that the user can amend.
Finger cursor disappears when user hovers over the section of the mc that contains the text fields (even non-selectable text??) When the user trys to drag the mc by inadvertantly click-dragging anywhere within both text areas it causes this error: TypeError: Error #1034: Type Coercion failed: cannot convert flash.text::TextField@2374a381 to flash.display. MovieClip (same error appears for both text boxes)
The input text box may confuse the user - how do they sometimes click to drag and sometimes click to amend? I need to create an overlay area within the mc that is click-detected for the drag? Here's the relevant bits of code:
var itemArray:Array = [ {iname:"police",ititle:"POLICE OFFICER"}, {iname:"insurance_assessor",ititle:"INSURANCE ASSESSOR"},[code].............
[code]All clips are squared.Ok, on the PlayerPlane, there are little soldiers, which have hotkeys. The effect I'm trying to create is I want to position the GameStage so that the currently selected soldier appears in the center of the GameClicker clip.The GameStage is movable by the player (to scan other areas of the map)by holding the CTRL key, so it's easy to kinda lose track of where your players are.I have tried using localTo Global and globalToLocal techniques, but I think I'm lost on the actual math of getting the GameStage to move the correct distance so that the selected soldier is centered to the GameClicker.[code]
I am trying to make a calculator where a user can select from a list of items. If a user clicks say "ITEM1", it should add the item to a "CONTAINER_MC". The problem i have is all my data is set inside an array containing names and prices like the code below.
Here is a working script to drag drop a ball from the stage into another target mc:
ball.addEventListener(MouseEvent.MOUSE_DOWN, pickUp); stage.addEventListener(MouseEvent.MOUSE_UP, dropIt); function pickUp(event:MouseEvent):void{ [code]...
It works well but I'm new to AS3 and I am having difficulty amending this script to drag the ball out of a parent mc (instead of the stage) and onto another mc (the target mc). To explain: imagine a ball, a box, a tri, + more shapes all within a scrolling mc (initial parent), the user scrolls to select a shape, then drag-drops onto a target mc on the stage.The scrolling is no problem, but how would you amend the script above so that the ball can start inside a parent mc rather than on the stage itself?
I am trying to communicate between an instance of flash embedded in a browser and a flash instance running in a C# WinForms app... I am getting a compile error that say:
1119 Access of possibly undefined property printOut through a reference with static type flash.net:LocalConnection
Here is the actionscript:
var feedback = ""; var receiving_lc:LocalConnection = new LocalConnection(); receiving_lc.connect("fromClient")
I got a "preloader" that creates an movieclip and loads an SWF. Now in the loaded SWF i want a close button to go back to the "preloader". The preloader isn't an actuall preloader but some sort of mainclip.Now i tried this:removeChild(MovieClip(e.currentTarget).parent.pare nt.parent)But i get error:ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.at flash.display::DisplayObjectContainer/removeChild()at MethodInfo-6()
Does creating a new instance of an Object that uses an identical name to an older instance, delete the previous instance? Or should the original instance be deleted first? The code uses a ridiculous amount of XML vars. Isn't it less memory intensive to parse the XML and save the properties to an Object, and then delete the XML Object, rather than keep the XML Object around and reference it's child nodes directly? Is it better form to break up a huge XML file (>600lines/3200vars) into smaller chunks?
I have a library object (SomethingMC) which extends a custom class (Something). Something, in turn, extends MovieClip.If adding SomethingMC to the stage within Flash CS3 IDE, is it possible for it's super class (Something) to assign an instance name from a class constant (Something.THE_CONSTANT)?
The above does not work. It throws Error #2078: The name property of a Timeline-placed object cannot be modified. if the instance is assigned a name in the IDE, and it just doesn't work if no name is assigned in the IDE.
I placed a movie clip instance inside a button, and I want this movie clip to play when the button is released. I'm using this code on the frame containing the button:
function playMovie(event:MouseEvent) { this.theButton.theMC.gotoAndPlay(3);
Does anyone know if it is possinle to scroll a graphic or a movie instance as well as a text instance in flash. I want to scroll text and images as well. Actually text with imges embedded in it.
I recently made a mp3 player in Flash. I have an aspx page that has the mp3 player in it as well as a .net button which is disabled on page load. The .net page tells the audio player waht file to play and the player plays. What is supposed to happen next is when the audio player reaches the end of the file the button on the aspx page is supposed to become enabled. I am not sure how to do this [have Flash tell the aspx page that it is done playing].
I am not any kind of network programming pro, but it happened that I have faced necessity to develop socket-server on php (no way for using Java) for flash multiplayer browser-game (standard features like locations, team battles, etc).
The main problem is that TCP is point-to-point protocol and it completely occupies given port.Of course it is possible to create some kind of queue, which will manage connections to the socket, but this solution doesn't seems to be the fittest one.
It seems to me that using interval of "fair" ports (from 2000 to 2200, for example) is more fitting solution, because one request may take a lot of time to execute and players won't be happy to wait in queue.
But how can I implement this "port inteval" strategy?The solutions that I see are:
launcing php-script per every port (he-he, 2 hundreds of launched scripts!);somehow forking the initial process to new processes (2 hundreds of processed? Not nice too), one for every port;additional while-loop, which listens all the ports (looks very bad);using threading or something like that (the problem is that php is single-threaded, as far as I know; pcntl?).But somehow I don't like any of them, or at least don't know how to implement them in the best possible way.
What is the best existing strategy to handle multiple requests from multiple users per time unit without delays, and how to implement this strategy in php? We have our own Debian-server, so it is possible to use any required php extensions.
For example, if we are trying to develop chat application, we need some sort of fixed (I mean persistent) connections for each user. For example, we have 80 users in chat, and then one of them posted a message, which server tries to handle and send to all other connected users, also putting an entry to the history file or something like that.
In this situation polling server for new messages every 10 seconds from each of 80 users is craziness, so the need in persistent connection gets obvious.But I don't know what is the best way to implement something like this, considering that not all requests are handled instanlty.
I'm trying to implement a basic WebView containing a SWF file inside. The SWF file plays and apparently works fine. However I'd like to know if there's some way to retrieve an ActionScript variable from my Cocoa application.
I'm communicating from a flash application using a command like the following: ExternalInterface.call("hello", "world") This is handled on the C# end by something like:
[Code]...
The axFlash_FlashCal is called fine, as long as there is a textbox on screen that's set to use TLF text. (any textbox will do, no specific ID). Without the textbox the even will not fire. (Even though ExternalInterface.Avaliable is set to true) I've tried using CS4 and CS5 to publish, using both Flash 10 and 9 as output.
I am having in issue with IE passing a string back into an swf using the EternalInterface class in Flash CS4.I have an swf with the following code: var externalString:String = ExternalInterface.call("IncomingJS")which is inside an event listener attached to an Event.ENTERFRAME and an if statement waiting for ExternalInterface.available. [code]I am able to successfully get the externalString variable and procceed with the rest of the AS3 script in Firefox, Safari and Chrome, but not in IE.If I add in an alert (stringFromHTML) before the return statement in the Javascript, I get the value of the stringFromHTML spammed, which looks like Flash is firing the function at the right rate[code]Unfortunately, the HTML code is actually working within a 3rd party HTML generator, and one of it's limitations is that I can only have a single line (with unlimited length) of html at a time.Are the other options (swfObject etc) able to run either with no line breaks in the code, or would I be asking for trouble with Javascript and the SWF to, instead of embedding the SWF directly, use something like an iFrame and refer to a 'proper' flash delpoyment html file?