ActionScript 3.0 :: Overlapped Classes In A Loaded Swf?
Jan 31, 2010
I make flash games with a standardized UI. There are dozens of different *.fla files of different games, created at different times, and all them should share the same interface. My solution was to put this interface into a Library.swf and make every game load that file first and initialize the required classes. It worked perfectly.Now, the UI and the game had to exchange events. If the "Next" button in the UI is clicked, the game has to know it. The solution was create an InterfaceEvent class. The game calls
Code:
ui.addEventListener(InterfaceEvent.BTN_NEXT_CLICKED, desiredFunction)
and the UI dispatches
I use a jquery calendar and a flash in the same page.. What happens is my jquery calendar is overlapped by my flash... Any suggestion to make it display above flash...Look at the image and see my calendar Fr,sat are invisible because of flash...
i am doing a project to learn as3 as it's fun to do and useful for creating mockups in (interaction designer). The project consists of a banner swf containing generated stuff and another swf which is the main project. In the banner i have mouseover textfields with an explaining text that is shown when moving the mouse over movieClips. The problem is that when a textfield overlaps the main swf (they are stacked with css, z-index), the main swf doesn't redraw the previously covered area resulting in a white patch where the textfield was shown.
One way of doing it i guess would be to on each MOUSE_OUT function, where the textfield is removed from stage by removeChild(textThing), also connect to the main swf by localConnect() and somehow force it to redraw.
Is this even possible? I thought if I overlapped the entire underlying Flash with a button on the upper layer, it wouldn't register mouse events underneath. Well, it does. I need to disable the rollovers and click actions for the button on the underneath Flash until the top one is gone, which happens via javascript hiding its div when finished. Only thing I can think of is to have the bottom Flash not set up the button actions until the upper Flash is removed, have that one trigger a javascript that then triggers the bottom Flash to run its init function to set up button actions by way of an External Interface call.
I have two sprites in my movieclip, one under the other, and i want both to listen to mouse clicks event. I found that only the top level sprite receives the event when i click on it. I need to dispatch the events on both, so I can't use mouseenabled=false.
Is this even possible? I thought if I overlapped the entire underlying Flash with a button on the upper layer, it wouldn't register mouse events underneath. Well, it does. I need to disable the rollovers and click actions for the button on the underneath Flash until the top one is gone, which happens via javascript hiding its div when finished.
Only thing I can think of is to have the bottom Flash not set up the button actions until the upper Flash is removed, have that one trigger a javascript that then triggers the bottom Flash to run its init function to set up button actions by way of an External Interface call. But I'd prefer not to, if there's a simpler way.
When I dynamically / randomly attach movies to the stage I dont want my movies to overlap eachother... How to do this? I tried using hitTest but that didnt work for me, so I wrote some kind of hittest function myself... but that doesn't work right either.
I'm stuck in a project because I don't know how to communicate with other classes in another external swf? After I load the swf using the loader class how would I be able to access the classes loaded by the swf?
The first part is that I am downloading a SWF from a server that has a bunch of exported images in it. I am doing a lookup of the class names for these images then using that to load the data into the application. Later on down the line it is possible to download a separate SWF that has images in the same format with overlapping names.The issue here is that when loading the second SWF with duplicate names it doesn't overwrite the data as one might expect, it uses whatever was loaded first. So I need to know if it's possible to either make it overwrite the classes with the new data or throw them away before loading the new SWF so the old ones don't get in the way. Is this possible at all
I have external swf (ext.swf) that is loaded in my FlashDevelop as3 project.When I make check (objectsList[0] is Class1) I am getting false even though the objectsList[0] element is Class1. The Class1 is in the ext.swfBut when I write command like (objectListInExternalSwf[0] is Class1) in external swf and then use that swf in my project and make check (objectsList[0] is Class1)My question is: do I have to use all the classes in my external swf so the compile
I have external swf (ext.swf) that is loaded in my FlashDevelop as3 project.When I make check (objectsList[0] is Class1) I am getting false even thoughthe objectsList[0] element is Class1. The Class1 is in the ext.swfBut when I write command like (objectListInExternalSwf[0] is Class1) in externalswf and then use that swf in my project and make check (objectsList[0] is Class1)I get true. My question is: do I have to use all the classes in my external swf so the compilerhave to put them in the swf so they can be used in other projects where the swf is loaded as external?
I have 2 swfs, one is main and it loads other file "skin.swf". skin contains object of custom class SkinClass. I can access it from main swf, but when I try to cast that object, the result is null. This happens when I use absolute url, when I load skin from relative url, everything is ok.
I have a flex application that loads swf files and displays them using the SWFLoader object.is there a way to provide different classes and functions for the swf application to use? [code]...
I am trying to create a new flash movie. I am using CS4, for publishing movie -> flash 8 - AS-> 3.0. My issue is if I publish the movie I receive the following complier errors - > ActionScript 2.0 class scripts may only define class or interface constructs. Attribute used outside class. The class or interface 'flash.net.URLVariables' could not be loaded. The class or interface 'flash.net.URLRequest' could not be loaded. The class or interface 'flash.net.URLLoader' could not be loaded. The class or interface 'flash.events.Event' could not be loaded. The class or interface 'flash.net.URLVariables' could not be loaded. ActionScript 2.0 class scripts may only define class or interface constructs. The class or interface 'URLVariables' could not be loaded. [Code] .....
We are migrating to AS3 at my job and I have run across a weird bug (???). I use the same basic class structure for most of my projects:Main.as - document class. handles preloader and sometimes XML loading, etc.Navigation.as - the class that handles all menu buttons, etc.Content.as - handles all the pages, game content, whatever.I created a game with this basic structure and published the SWF. Everything works great.Now, I built a website with this same basic structure and when I try to load the game SWF, it throws a bunch of runtime errors - it seems to be confused by the fact that the class names are the same.Each SWF works fine by itself. It only crashes when I try to load one into the other.
I should mention that both the game and website have identical package structure (because they are for the same client, duh!).Is this a flash player bug or am I doing something wrong? I went through the website and renamed all of the classes and it fixed the problem, but my concern is that we may have to load SWFs in the future that we didn't create. What if they have a similar issue? Unlikely, but possible.
My project is about a header.swf that calls a nav.swf (with a menu and other stuff) and also inits a slideshow through a Slideshow class.This is in header.swf:[code]I renamed the XmlParser class to "XmlParser2.as" (as well as other references to it) and then...it worked...what the hell was going on here?
obs: I tried that also: I commented all the code inside the "initSlideShow" function, keeping the XmlParser instantiation, and the nav.swf didn't show as well.
obs2 : i didn't had XmlParser.as imported cause it was in the root directory. ( i explicitely imported it and tried to compile but same thing happened)
obs3: nav.swf uses the XmlParser.as to load two menus, however I don't believe it has anything to do it since it's a file that is already compiled, at the point I try to load it into header.swf, right?
I recently discovered the incredible functionality of getDefinitionByName(), I'm attempting to load in pages for an interactive book.Each page has its own functions, listeners, nested animations, and timers.When loading in these pages, no stop()s are working within the nested clips, and any interactivty has been lost.It's just a mess of a bunch of animations running over and over.[code]
In addition to having the MovieClips not running code, I am running into serious garbage collection issues.I can unload the pages from display, but all sounds continue playing.Does anyone have an idea of why these loaded MovieClips are not running code, and why they will not unload properly with the destroy() method?
Im working on a App that is using a external swf as a container for some graphical assets. An asset is a movieClip symbol with a class name attached to it. for example ASSET_1. I load the swf with the Loader class into the app. Its working fine I can also access ASSET_1 with this technic:
//--- inside onLoaded var ASSET_1:Class = event.target.applicationDomain.getDefinition("ASSE T_1") as Class; var asset:MovieClip = new ASSET_1() as MovieClip; addChild(asset);
my problem start when im loading a second swf and than i try to access "ASSET_1" again, and the class doesn't update itself, the content is the same as in the firs one.
I have several library classes that I am loading from swfs external to my main swf. These swfs all use the native tween class (import not extend). This means that I have the tween class creating bulk several times over (as well as the extra bulk for having to load a swf rather than having the class internal).Is there a way that I could make the tween class accessible at runtime to the loaded swfs without having it create the same extra bulk in all of the loaded swfs?the only solution that I can think of is to create yet another swf with the tween class as a library object, that would be loaded at run time by all the other loaded swfs.
I have a document class which links to several classes, one of which adds a container onto the stage and loads external .swf's into it.Q: How do I access the various classes loaded in the document class from the external swf timeline?For instance, when you click a button in the loaded swf it changes the soundtrack from the soundtrack class. I have tried dispatchevent from the external swf timeline, but I still can't seem to get it to work. Is this supposed to work, or should I be doing something different?
I want to handle the mouseevents for all the sprites on the stage including the one those are hidden behind (or overlapped or occluded) and the main condition is that I want to handle the occluded sprite (that hidden behind other sprite). example, say I have sprite1 and sprite2 on stage and I want to start drag whenever i click on the sprite and stop drag after another click.
This can be done easily, but the problem and my main requirement is that if I drag the sprite1 and drop it exactly on top of the sprite2 then sprite2 will be hidden behind the sprite1 I wont be able to drag the sprite2 without moving the sprite1 first. if you have played zynga's empires and allais game on facebook, it is handled seperatly, it is how it works in that game, the mouse event is triggered on the sprite behind the overlapping sprite, if you have two sprites overlapping one sprite than the mouse event is triggered on the sprite which is last and not the one in front irrespective of whether there is only one sprite overlapping or two or three and this happens to irregular shaped sprites (not just rectangles)
I have a flash object which dimension and position are as same as the HTML button. The button is under the flash object. I want when the flash is clicked and hovered, the button has the styles as if it is clicked and hovered at the same time. I am trying to call: ExternalInterface.call("mouseEventHandle", elementId, eventName); in flash to pass event to JS. And in JS(coffeescript): window.mouseEventHandle = (elementId, eventName) -> id = '#' + elementId switch event when "down" then console.log("down") when "up" then console.log("up") when "enter" then console.log("enter") else console.log("leave") # leave the function is responsible for styling the HTML button. The question is how to style the button under in JS? Or is there other way to achieve the goal?
The examples I'll use don't do anything - they're classes without ANY members - no variables, methods, anything.
Let's say I extends Sprite and call it MySprite.
I save it in test.core
[code]...
Now I create another custom class called MyWindow that extends MySprite.
I save it in test.windows
[code]...
Then I create another class that extends MyWindows (the example I'll use is a document class - but that doesn't matter - I've tested using an instance too).
[code]...
Notice that I'm not even trying to instantiate the helper classes - just having them there throws the error.
If there is only a single helper class, everything runs fine.
Also note that - as far as I can tell - this only happens when extending one class from another package, then extending that class with more than one helper object.I'm pretty sure there's no namespace bumps or typographical errors, as this is a very pared-down version of the original application.
EDIT: seems the problem exists even without the crossing packages - even extending MySprite in the document class with multiple internal classes generates this error.
I am creating a library in AS3. Inside the library I make use of a bunch of classes/packages that need not be exposed to the end user of my lib. I want to only expose one of these classes.
I guess my questions are:
1) How are libraries commonly distributed in AS3?
2) Is there a .jar equivalent in AS3 that developers can include, but will only have access/knowledge of the classes I've declared as public?
I have an actionscript project which uses visual symbols from an SWC. I have a CheckoutButton which has the following class associated with it (compiled into the SWC in Flash CS3).