ActionScript 3.0 :: Adding Objects Dynamically To Stage?
May 7, 2010i need to add chips and cards dynamically(poker chips ,im designing a basic poker game) in front of each player,
View 1 Repliesi need to add chips and cards dynamically(poker chips ,im designing a basic poker game) in front of each player,
View 1 RepliesI have is as I add objects from other classes to the stage, is there a way to automatically add them to the resize event I have on the main stage to keep them in position in my fluid flash layout? Currently I am declaring all the variables in the project at the top of my primary class, adding them to the stage in the opening function, and then finally adding them to the resize event.
View 0 RepliesI'm having one of those moments where I can't figuring out the simplest of tasks. And I'm presuming it's just a silly syntax error on my part. I'm calling a class that handles a nice lightning effect. And this is how I would initially set that up:
[Code]...
I am using gaia with a fluid layout at here is what I get:
This is the error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.gaiaframework.FluidLayout::FluidObject/reposition()
at com.gaiaframework.FluidLayout::FluidObject()
at pages::MemberPage()
Here is my MemberPage code:
package pages{
import com.gaiaframework.templates.AbstractPage;
import com.gaiaframework.events.*;
import com.gaiaframework.debug.*;
import com.gaiaframework.api.*;
[Code] .....
Note there may be some extra classes and imports etc. I was trying a bunch of things. The full fluid layout tutorial I followed is here: [URL].
Hey this is my as code
Code:
package
{
import flash.display.MovieClip;
[Code]....
Am I not referring to the stage of the flash movie (the one that is calling this action script) properly.
I am trying to create a card game (deck of 24 cards/6 cards will be dealt to the stage at one time (3 arrays)).
I want 6 cards to be dealt to the stage when you click the "Deal" button. I think i have the loop set up properly, the first array traces, however i can't get the cards to be added to the stage. What am i doing wrong? Once i get the first set of cards to be built to the stage, i will want to remove the previous set and the second set will be dealt to the stage once the "Deal" button is clicked again.
//code
var aArray = new Array();
aArray[0]=Card1;
aArray[1]=Card2;
[Code]....
I am a flash developer and I've got some experience in games and applications, but there is a problem that always comes back and that I solve in sometimes discussing manners, but I've decided to find the "good way" of doing it.Ok, here's my problem :I have a game where I set the publish setting to export in Frame 10. Most of the graphic content is already on the stage on the frame 10, but there are a few MovieClips that I add and remove using AS from the stage (a "How To Play" movieclip, for example).All the movieclips I want to use with AS are set to export in Frame 10 and are used in different custom classes.Everything works just fine if I set everything to export on Frame 1 and all my graphics are on frame 10, but not if I export in any other frame than 1.The workaround I've found is to create an instance of the objects I want to load outside of the stage, but I hate that way of doing things :I get no error if I create an instance of my movieclips through AS, but they won't show up when added to the display list (yes, I know how to use addChild )
View 5 RepliesI have an XML file with a list of photos. I have loaded the XML file into Flash (CS3 / AS 3.0) and I am iterating through the list to load the photos. The problem is only the last photo displays. I would like to
load each photo and then create a movie and "copy" the loaded content into the movie clip. Here is my code:
[Code]...
I am reading in collection objects from an XML file. Each collection has an img field that stores a URL to the collection image. So I am trying to load the images of each collection, storing each image in a MovieClip, and add these MovieClips to the stage. However, my problem is that after adding a MovieClip (with the collection image) to the stage, when a new MovieClip is created in my 'for each' loop it overrites the previous MovieClip. So the images I am adding to the stage are being replaced by the following collection's image on each loop iteration. What can I do to avoid this?
[Code]....
So I want a dialog box (this is the movieclip) to pop up when I click a button and then go away when I click another button. This is what I came up with...
ActionScript Code:
eyebtn.addEventListener(MouseEvent.CLICK,popUp);
function popUp(event:MouseEvent):void
[Code].....
I have an image (.jpg file) in the library and I want to instantiate it dynamically through timeline code and then add it to stage. But I do not want to drag it and drop it from the library to stage, I want to keep it in the library and add it to stage through code only... how can I do that?
View 9 RepliesI am trying to write some code for someone show wants to be able to control their timeline animation by using the slider component. Everything was going fine until I tried to add the Play and Pause buttons to the stage. I instantiated both movieclips and added "stage.addChild(<mcName>);" but neither clip showsup when I test the movie. I tried removing "stage." but that didn't help either.
I tried to find a solution to my problem online, and while I haven't figured it out yet, it seems that these movieclips might need to be part of a function. This could be totally incorrect, but it's the best guess I have right now.
My AS code is below. (I couldn't get the .FLA file to zip small enough, but if anyone wants it, I'll find a way.) See comment "// PLAY/PAUSE CODE" for Play/Pause buttons.
Code:
//SLIDER CODE
// Import slider and movieclip classes
import fl.controls.Slider;
[Code].....
I think removeChild() is the most confusing thing in my life at the moment when it really shouldnt be. I'm dynamically adding a set of mc's on the stage, im tweening them from alpha 0 to 1 with tweenlite, I then have a button to remove the items in reverse, but for some reason I can seem to get my head around tweening them back to alpha 0 in reverse order. I can remove them from the stage with removeChildAt(0), but I would like the animation. Any one have any solutions for this. I have attached the code and a test file =]
[Code]...
My AS3 application basically does the following (pseudo code from main application class) 3 or 4 times by adding custom objects to stage:
_movieClipClassVariable = new MyCustomSpriteSubclass();
_movieClipClassVariable.addEventListener(MyEvents.READY, function(event:Event):void {
_hideLoading();
mcHolder.addChild(_movieClipClassVariable);});
_movieClipClassVariable.addEventListener(MouseEvent.CLICK, myClickHandler);
private function coverClickHandler(event:Event):void {
}
What is the right way to allow Garbage Collector to recycle _movieClipClassVariable after it is not necessary? Assign null to it? Remove all listeners? Use weak reference for listeners?
ok. so here's the thing..i have a class from where i created an array with the time, name, and position of each movieclip data.. and wanted it to go through each one and execute at a certain time.. So i tried something like this:
[Code]...
the first part works well.. but its when i try and add it to the stage that i get confused.. i tried something but i think its wrong.. can anyone help me? Basicly i want flash to get the array.. use index 1 for the name.. index 2 for the x position and index 3 for the y position.. but all this name referencing in as3 really confuses me.
I am trying to add children to a dynamically added swf file, using AS3, before I add it to stage
Here is the code I have thus far,
AS3:
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest(glo.bal.base_url+"videos/vid_1.swf");
mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler_one);
mLoader.load(mRequest);
[Code].....
Inside the vid_1 swf there is a movie clip called box_one, I would like to append a image to box_one, and only have the swf added to stage after the image file has been added to box_one.
i have a class from where i created an array with the time, name, and position of each movieclip data.. and wanted it to go through each one and execute at a certain time.. So i tried something like this:[code]the first part works well.. but its when i try and add it to the stage. Basicly i want flash to get the array.. use index 1 for the name.. index 2 for the x position and index 3 for the y position.i have already linked the movieclips on the stage
View 1 RepliesHow to add random movie clip to stage from many different movie clips in library? If I wanted to add one movie clip to stage I would do liko so:
Code:
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
function onMove(e:MouseEvent):void {
var mc:MovieClip = new Ball();
mc.x = mouseX;
mc.y = mouseY;
addChild(mc);
}
Code above works perfect but I tried following but with no success, no errors, but nothing happens - no mc's are added to stage. I have 6 movie clips in library and they all are linked, exported for actionscript. On MouseOver I want to add random movie clip from those six movie clips to the stage.
Code:
var myArray:Array = [mc1, mc2, mc3, mc4, mc5, mc6];
stage.addEventListener(MouseEvent.MOUSE_OVER, onLoop);
function onLoop(e:MouseEvent):void {
for (var i:int = 0; i< myArray.length; i++) {
var randomMc:Number = Math.floor(Math.random()*i);
var mc:MovieClip = new myArray[randomMc];
addChild(mc);
mc.x = mouseX;
mc.y = mouseY;
}}
I am reading in collection objects from an XML file. Each collection has an img field that stores a URL to the collection image. So I am trying to load the images of each collection, storing each image in a MovieClip, and add these MovieClips to the stage. However, my problem is that after adding a MovieClip (with the collection image) to the stage, when a new MovieClip is created in my 'for each' loop it overrites the previous MovieClip. So the images I am adding to the stage are being replaced by the following collection's image on each loop iteration. What can I do to avoid this?
Here is my code...
var collXML:XML = IXml(assets.collections).xml;
var collNodes:XMLList = collXML.children();
for each (var collInfo:XML in collNodes)
{
[Code].....
I am trying to add multiple different versions of the same button to the stage and to be able to access them later on by assigning them an ID. The way I assumed this would be done is to have a class for the button where an internal static variable is defined so that the ID can be found in the next function. This does not seem to be working, as the ID is constantly showing as the last number given, so in this case 6.I assume that I am doing this wrong? Here is my code so you can better understand:
package src {
import flash.display.MovieClip;
import flash.events.*;
[code]......
OK so I am dynamically adding and removing movie clips to the stage.[code]I want to be able to add that same MC from the library again later with a button press but when I try to use the same code to add the same MC (this.attachMovie("controll_pannel","controll_panne lMC",10);[code]
View 4 RepliesCode:
function AddYCoins():void
{
for (var i:int = 0; i < 10; i++)
{
var Ycoin:YCoin = new YCoin();
[Code]...
This function creates 10 instances of my YCoin and places it around the stage. But i wish the coins to only fall in specific areas, (i.e. i have 8 green rectangles, names area1,area2 etc) because the idea is you have to collect the coins but only staying on the green rectangles.
i knows its the stage.stageWidth i need to change but i cant think what to change it too!
I had to create dynamic with AS some rectangular on stage using moveTO and lineTo. I had a button and when I press it should add a new rectangle on stage but it doesn't. Because the array that I am storing the MovieClip created are overriding I guess
var i:Number =0;
button_name.onRelease = function() {
i++;
var instancename:String ="new_mc"+i;
var mcClip:MovieClip=createEmptyMovieClipinstancename,this.getNextHighestDepth);
[Code] .....
I want to be able to create and place objects on the stage dynamically and remember their location. I'm guessing the best way would be saving the object type and location in an array? Just wondering if there is a better way before I start coding.
View 1 RepliesI have a game where i add some cartoonish ants, that when they are clicked, they need to be removed from stage. There are 4 differend kinds of ants, so im doing a Math.random for picking which one to add. (ant 1+2+3 have 50% chance to spawn and 4th 50%)
Code:
rnd_nbr = (Math.random() * 5)+1;
I have a timer doing 10 tick, and i reset the timer to make neverending. Then i have a math random and if sentences adding mc' to the stage with movement from Tweener, and event listeners for clicks. But i cant figure out how to remove them when clicked. I have done alot of failed tries right inside the click_candy_anty function. I've left them commented out.
Code:
import caurina.transitions.Tweener;
var ant_index:Array = new Array(10);//index for ants
var ant_number:int;
[Code].....
I have drawn colored rods which I have placed in the library and have put one of each on the stage with instance names likeblueRod_mc, etc.I place them around with time-line code like
blueRod_mc.x = 300.0;I have now created an Actionscript class called Problem.I build a new object from Problem which I have called Riddle.But when I put blueRod_mc.x = 300.0 in a method (of Problem),I get the message that blueRod is not accessible.So I triedstage.blueRod_mc.x = 300.0;That did not work either.
[Code]...
That's the correct syntax for this? I want to be able to dynamically write to several textfields that exist on the stage but have not been dynamically placed there.
I'm writing a web based flash app that's written entirely in AS3. I have objects on the screen as part of a GUI. I would like the user to be able to resize the window, or make it full screen. I would like everything to auto-scale with the resize, but also remain in the same relative position on the stage.
View 1 RepliesThe name of my DocumentClass is Main. So, what's the difference between :
var myClass:Main = new Main();
var mcInLibrary:MovieClip ;
/////////////////////////////////////////[code]............
how to add completely new data to XML data I'm holding in a var.
I'm importing XML data into an editor I'm creating. The XML looks like this:
<itemList_120>
<mediaFile order="1" playTime='2' transIn='1' transOut='9'>gif.gif</mediaFile> <mediaFile order="2" playTime='1' transIn='6' transOut='8'>jpg.jpg</mediaFile>
[Code]....
Rather than change existing XML data, how do I add completely new data? ie, if the above var held two "mediaFile" lines of XML, how do I add or insert a third?