IDE :: One Button Add And Remove Symbol From Stage AS3
Dec 2, 2009
I have a button on my stage its a movie clip I also have a symbol in my library that is also a movie clip with a small animation inside it. It is not the button.
I am trying to use the button to bring the symbol out of the library onto the stage then when I click the button again it will remove the symbol from the stage.
var loader:Loader = new Loader();loader.load(new URLRequest("gallery.swf"));loader.x = 20;loader.y = 75; gallery_btn.addEventListener(MouseEvent.CLICK,addGallery); function addGallery(event:MouseEvent):void { addChild(loader);}
Fine up to here. I need to remove the loader when another button is clicked because the loader remains on stage.
I tried the code below (just used on 1 button for now but I have 5)
What i want to happen seems quite simple yet i keep getting the error "access of undefined property" when what i'm trying to remove is in fact defined in the same class but it obviously cannot gain access to it.
I want to remove a MovieClip from the stage once a button has been clicked.The MovieClip is created in the same class as my button function i created. The button works fine but whatever i try to put within the function to remove the MovieClip cause the error i mentioned at the start.
what i want to do is, when certain button is clicked, replace a certain symbol(button) by another symbol(movieclip) stored in the library. i try things like loadmovie("","") to replace the symbol from a external jpg, but some how it does not align even both images are exact dimension. can i replace an image straight from the library?
So i've done SOME work with flash and AS3, right now i'm working on a website for my boss, he bought some template online which has stuff laid out and animated and everything already, now I just have to integrate our content.My issue is this, I've got 2 symbols on the screen, one of which contains alot of buttons that list our services as company, the second symbol contains the content (or descriptions) of those services, which on are separate keyframes.What I'm trying to accomplish is that when you hit the button in "symbol A", it affects the "symbol B" and goes to the corresponding keyframe.For example when I click "button 2" in "symbol A", "symbol B" goes to keyframe 2.Now if they were in the same symbol it would be something like
I'm making a game for children where they have to pay money by dragging it on a square. It al works wel only when i pick the first coin of one euro without going over the coin of 2 euro and then pick up a 2 euro coin the one euro disappears. after then it all works fine.i cant remove my duplicate euro's from the stage when i clic on pay here is my code for the euro's the euro's are in a emty movieclip
this is another question with respect to the same game in my last post. as i said, im making a card game in flash (to teach myself a.s. 2 and flash). when i deal my cards i use this:
Code: holder1.attachMovie(myCardArray[0,0],"card1a",1); where holder1 is a symbol, residing on a timeline. myCardArray is an array off all the cards
I am currently working on a project where I create explosions on the screen by adding the movieclip symbol explosion to the main timeline via:
addChild(explosion);
I am trying to figure out how to dynamically remove the explosion (make it eligible for garbage collection) when it is done playing the animation of the explosion.
I have tried parent.removeChild(this) within the symbol itself and that throws an error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Is there any way to have a movieclip remove itself? If not is there a way to call a function in the actionscript code explosion exports to? Or maybe there is a way to call a function in the main timeline?
let's say i have a text scroller like this:what i need is when the scroller goes at the bottom and there is nothing else to show,with some trick to call a fuction so the "down" button disappear.i need this cause i made a scroller only with 2 buttons, and they don't look like broswer's scrollbar. (they are at the center up/down of the text scroller)
Is there a better way to have a symbol's anchor point default to the size of the stage? I'm having Huge problems because if two symbols are different sizes then I can't tell two objects to be in the same location.The workaround seems terrible. I have a guide layer for stage bounds. I'd have to duplicate that, add that to the objects that I'm going to want to convert to a symbol first, then remove it after it's converted. Is there anyway to automate any of that? That just seems like a terrible task to repeat over and over. I suppose one option is to have a blank symbol that is the correct size already, duplicate that in the library, rename it, put that on the stage, then put your objects in there. Wow, I'm not sure if that's better or worse!
I have made a movie file symbol with multiple key-frames, such as a person walking, but when I drag this symbol from the library into the stage and preview it, all I see is the first frame of the symbol--it never changes to the next frames.
I'm making a game in flash, and I want to have a whole bunch of different rooms that I can make and delete with code. Ordinarily I'd just use something like:
var room:Sprite = new room1(); game.main.addChild(room);
but I'd have to export every room for actionscript. Is there a way to get them made just being symbols? If nothing else, I could layer all the rooms on top of each other in one symbol and set all but one invisible, but I'd prefer doing it this way with getDefinitionByName().
I have several symbols in the library (using Flash CS5), and all of these instances have a custom base class set with a method (lets say x()). I have the symbols already positioned on the stage using the IDE, and I wanted to access them through as3 and run the method. I understand that you can instantiate a new object of an item in the library, but how would I access the object that are on the stage already?
var objectList:Array = new Array(); objectList.push(InstanceName1); objectList.push(InstanceName2); objectList.push(InstanceName3); objectList[0].x(); //trying to run the method on the existing Symbol
However, flash returns an error saying that the object does not have method x(). Also looking through the debugger, it doesn't seem like the item pushed is an instance of the base class, rather it says (prototype). This works of course if I were to create a new instance of each, but I would rather access the ones that are on the stage already.
I am using an opensource spectrum analyzer to try to learn, but I would like to start by making the stage symbol pulse in the same fashion.NOTE that I have inserted the below text at the bottom of the .as file so that you can see how it is not referencing.I want to control a movie with the instance name mc_ball that I already have on stage.If I reference it in the .as file via _root.mc_ball.scaleX or whatever I need to do, it says it is not defined...obviously.So what do I need to do, to define a movie ALREADY created?I was informed on a different forum that _root is no longer valid, so I am not sure where to go from here. Does anyone know of a tutorial that I could learn about this feature of referencing library/stage symbols?
I'm new to Flash, am working on my first Flash Project. I've been trying to move a particular symbol from my library onto the stage and when I do, I'm getting a "Resolve Library Conflict" error that says "One or more library items already exist in the document." and it gives me the choice to replace the existing items or not. It only appears to be happening with 1 or 2 particular symbols, not all of them. I did use this same symbol (as a graphic bullet) earlier in the project with no problem, but now it won't let me use it again. However, I have other symbols in the library that I have used multiple times throughout the project and I don't get this error pop-up when moving them into new frames. I don't see any mention of this in my Flash book, why I'm getting this and how to resolve it?
Sorry for lack of terminology but I want to create movie clips with moving graphics or objects and so want to see the boundaries of the stage. At present the whole area is filled with my stage colour. A setting somehwere?
I know this is one of the most basic things, but I am having trouble adding an instance of a symbol to the stage with action script in Flash CS4. I have a "fireball" symbol and at the beginning of my code I say: var myFireball:MovieClip = new fireball; addChild(myFireball); But it says : "1180: Call to a possibly undefined method fireball."
What is happening is, when I convert any object to any type of symbol, it disappears on my stage. It tests fine, but the symbol is invisible. This makes it difficult for me to see the overall design. Last time there was a folder that was just filled with about 10k blank files somewhere in the preferences for flash, but I can't seem to find it to delete those random files/ that folder. I'm on a Mac, and uninstalling/reinstalling flash does not work.
Is it possible to automatically make a text list of all symbol instances used on the stage and within all movie clips which are used on the stage? E.g. I have a symbol "my metal bar" in the Flash library and its instance on the stage is called "metal_bar_mc". So the list should contain a line with text: "metal_bar_mc".
Is there any automatic tool or maybe an AS3 library or it is possible to somehow write AS3 code to do this? And one more thing, it would also be very helpful to be able to determine, which of those instances are exported to AS3 (so the text list would contain an asterisk for those which are exported, or whatever)
I have just recently started playing around with AS3 and am pretty new to what is going on in Flash (though I do have a lot of programming experience.) I have an object that I am dragging around on the mouse. I want it to be destroyed if I drop it anywhere but in a target location. I have the part where it is destroyed working, but I am running into a problem trying to find the target. When I try the following...
PHP Code: public function DropObject(){ if (! this.hitTestObject(stage.getChildByName("Target"))){ stage.removeChild(droppedObject); stage.removeEventListener(MouseEvent.MOUSE_MOVE,droppedObject.MouseCursorMove); }}
I get "TypeError: Error #2007: Parameter hitTestObject must be non-null." So, "getChildByName" is returning null, but I'm not sure why. I've verified that there is an Instance name of the Target on the stage. Why can't I find it?
I have a symbol called s1 in the library and I also created an instance of it on the stage on the first frame, its name is myS01Before I linked the document to a class (this was for youtube player) I was able to add event listeners, such as mousevents, onto this instance in my actions panel. But, after I linked my document to the external class in a package without a name, I cannot add any code into Actions panel, because it gives me all kinds of weird problems.Instead I am trying to use this symbol and add listeners to it in my external class file (the one linked to the document) with no luck.my external class file looks like:
I bought Flash recently and I'm getting started on making a game, a platform shooter game, thing. What I have, is a button on the main stage that I want to activate a function in an instance. But that instance is inside a symbol. So it's Stage->Character->Gun. But if I put down:
Shoot.addEventListener(MouseEvent.MOUSE_DOWN, Fire); //Shoot is the button on the stage function Fire(evt:MouseEvent):void{ Derp(); //This being the function I want to be activated }
This is the code in the Gun instance: function Derp():void{ //epic code goes here }
It will give me an error saying "1180: Call to a possibly undefined method Derp." So basically it's telling me it can't get to this code because it's not on the same stage. How can I get an instance to be recognized by all code in my project, regardless of we're it is in the project? I want to keep all my symbols where they are, so external ActionScript file won't be good if I have to recreate the object on the stage.
I used to know how to do this (maybe): I want to load a Symbol from the Library on the fly into an Object on the stage. I think I have to give the Symbol a Class under Properties/Linkage, but after that I'm lost. I know this is a hack-y way to do it, but I want to do this without external Classes and files, all in the one swf.
I'm trying to remake a project that i did earlier in as2. Now i'm trying to build it in AS3.
It was a simple tool to convert text to hieroglyps. In the library I have all the different hieroglyfs and they are exported for actionscript with identifiers a,b,c,d,....
When i used AS2 i could accomplish this with this simple function
Code: function convertWord(word){ for(i=0;i<word.length;i++){
[Code]....
But i don't find such an easy way in as3. How can i use a string variable as identifier to put a symbol on the stage.
When you attach a movieclip taken from the symbol library to the Stage, by using the attachMovie function and its Linkage name, do you have to - previously - place a dummy instance of the mc anywhere on that Stage to get it works ?
In my adobe Flash CS5 when i create a new symbol it opens in a new screen as normal. the stage that I can edit it on however is stuck in the top left when I zoom out and it's starting to drive me nuts. I can't work with it like that.