Actionscript 3.0 :: Referring To Objects On Stage In .as File?
Jun 8, 2009
I have a simple question regarding the objects that are on stage. If you make a symbol in the Flash editor, export it for actionscript and put it on the stage, how can you refer to it in an external .as file which contains the document class? I tried using getChildAt() but that returns a displayobject, and I want to modify properties of that instance of the class of that symbol.
I need this because I am trying to make a scrollpane that adapts it's size to the screen resolution, and it's source is a MovieClip that isn't on stage but in the library. I also want the source to adapt it's width and height to the screen resolution. Is this possible? For this to work I need to refer to that source MovieClip in my as3 file, and I can't figure out how to do that...(in this situation it isn't even on stage but I guess I could make it invisible and put it on the stage if nessecary)
I've been heavily mired in 3D recently, and decided to pay a visit back to good ole Flash.
My problem is this. I'm extending the MovieClipLoader class to create a Preloader Class (yes I'm sure it's been done fifty billion times but). I'm trying to refer to a symbol in a common library, the preloader symbol itself.
baseClip is a MovieClip object which takes a MovieClip passed to the constructor of the class in the FLA. (say a container movieclip which has a target clip preloaded into it) The class does load the target clip into the baseClip, but doesn't show the preloader, which makes me think I'm not referring to it properly.
I'm creating mc's during runtime like this: for (var i:Number = 1; i <= pictures; i++) { this.attachMovie("box_mc", "box" + i+ "_mc", this.getNextHighestDepth()) }
So, if pictures is 5, then we end up with 5 boxes, box1_mc, box2_mc, box3_mc and so on. But I can't work out an easy way to refer to them later on. For example, say someone presses a button and I want to move all of them - how can I set their _x value in a loop? For example, if I wanted to move all of them 100 pixels, then this wouldn't work: for (var i:Number = 1; i <= pictures; i++) { "box"+i+"_mc"._x = "box"+i+"_mc"._x - 100; }
Using AS3, I was wondering how to control one object, a ball, while another ball bounces around. I'm modifying code from "Foundation ActionScript 3.0 Animation" by Keith Peters.
I'm pretty new so I'm probably making some obvious mistakes here. First of all I thought I could refer to the balls as ball[0] and ball[1] since they are in an array called ball. Is this correct?
've been trying to figure out how to refer to the stage from a Sprite before it is added to the stage.
I'm working on a small program in which I plan to use external classes for each "window" that comes up. I've made the window classes extensions of Sprite. I'd like to make this window add itself to the stage when its constructor is called, and then just remove it from the window class when I'm finished with it. Is this a good idea? I'll post some of my code to show you what I mean.
This code doesn't work. I get the error "type was not found or was not a compile-time constant: Stage"
From my window class:
ActionScript Code: public class PlayerSelectionWindow extends Sprite{ var stg:Stage;
I have a movieclip on the stage in which I have some 90 movieclips also on the stage.
I created an array to hold the movieclips. But when I try to add eventlisteners to these movieclips by cycling through the array, I get a 1009 error ("Could not parse the XML. Error #1009: Cannot access a property or method of a null object reference.") Oddly, however, the application seems to work correctly, handling my listener events.
On the other hand, if I add eventlisteners for each movieclip individually, all works fine--no errors are thrown.
I just started "coding" in AS3. By "coding", I actually mean trying around with features and generally trying to grasp the vast amount stuff you can do with this software of. I have some coding experience, however the way Flash likes to hide code snippets all over my project does tend to confuse me. Not knowing where I tried putting the code and/or rewrote some other stuff keeps me sorta busy.
Anyway, my issue is this:
Messing around with movieclips inside movieclips, I've keep encountering the error "1120: Access of undefined property onTimerComplete." I do realize that this error generally is caused by not having defined an instance correctly or not having it defined at all - an error beginners tend to make. Nonetheless, I'm not trying to refer to an instance/symbol, I am trying to call a function defined on the stage from within a movieclip that also is placed on the stage.
I've been reading huge amounts of text/articles and how-to 's, but they all seem to only touch the subject lightly or simply going in head-first - becoming far too complicated for me (a beginner) to grasp.
So, trying to sum my questions up into something that looks like a tl;dr:
- What's up with levels, "_root" and referring to functions like in the older versions of flash?
Flash tells me to use some display-package instead of _root, when I use that... (I do realize the article is from Flash 5.0)
- How do you refer to a function defined on the stage, from inside a movieclip? (The function is a timer, that is supposed to make the mother-movieclip continue to the next child-movieclip.)
I am building a simple ToolTip-Class. In case the cursor gets to close to the stage's border's I'd like it to flip accordingly, so it won't get cropped.
For this I'd like to compare the stage width and my mouseX and then scale and wove things accordingly.
However when I try to get stage.stageWidth from inside my package it will return null.
I have an object inside my flash file and i want to lock the object on 0 x-axis 0 y-axis but when i re-size my SWF file my object's location changed to another location how can i fix that?
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.
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.
I am creating a program and have some objects that animate from off the stage to on the stage. When I run the program in the flash player the objects that are off stage are visible. Is there anyway to stop this from happening. I suppose I could create a layer with a frame in it that could cover the off stage objects, but I am just wondering if there is a better way.
I have built a image gallery with xml in ActionScript 3.0 that has 2 columns of thumbnails to pick from. Is there any way i can convert my .fla file to an .As file so the class file can be used to birth objects on the main timeline ?My Xml code is
<? xml version="1.0" encoding="utf-8"?> <images> <image source="images/Image1.jpg" thumb="thumbnails/Image1.jpg">All Smiles.</image>
have a bunch off mc's that are controllable through buttons and using the key controls, but i need to make it so they stay within a 600*600 area within the stage
Almost finished constructing a web site (my first) now suddenly, in all the files, none of the objects are appearing on the stage only their registration points(the white circles right?). If I isolate the object it appears.
how would I go about creating a flash application that has the ability of extending beyond its object width and height on a page? I've seen those crazy flash ads which beg you to hover over them only to have it take over 3/4 of the page you are viewing. How are they doing that? Is it a combination of Javascript and Flash? Or, is it actually a really big stage that is somehow hidden in the HTML? Or (better yet) is there a magic way of pushing flash objects beyond the stage and out into the HTML?
- A.fla includes buttons, movie clips and also B.swf is loaded in A.fla using a LOADER
- i want to access elements in A.fla, from the actionscript codes inside B.fla to modify those movie clips and buttons based on actions going on in B.swf
for instance, lets say there is a button X in A.fla, and there is a button Y in B.fla, B.swf is loaded into A.fla, and I want the button Y to erase button X when clicked.
general question: accessing elements in a stage, through a SWF file loaded into that stage.
I'm studying the code for a vertical shooter game that is given in the book "ActionScript Design Patterns 3.0." The author is explaining the factory pattern and so covers just that aspect of the code -- doesn't cover hit testing. I would like to figure out how to do hit testing for this example because it's similar to something I am planning.
The code for the game consists of 12 classes, abstract and concrete creator classes, abstract and concrete product classes and a Main class. These classes instantiate the ship and weapon objects at various points in their execution. I made a separate Collision class and I'm trying to find all the objects on the stage using this Collision class so I can hit test them with each other. Here's my code:
Is there a way to fix this code so I can access objects on the stage? Am I missing a cast somewhere? Or do I need a different approach to find objects on the stage in a multiclass game?
I have a problem with this code:[code]There are two overlapping objects on my stage: character_mc and vanish_mc. As soon as i start the scene [Ctrl+Enter] vanish_mc is VISUALLY removed. But the code still sees a collision somehow. How can i Entirely remove the object vanish_mc?
I'd like to be able to access some objects which are on the stage before compile time (e.g. in my .fla file). I can do this fine from the document class using the names I've assigned to them, but I need to be able to do this from other classes (instantiated at runtime) too.
What is the best way to go about this? Can I use the stage variable (this isn't looking likely from what I've read so far) somehow? Or do I need to pass in references to these objects from my document class when I create the instances of the class that needs to access them?
I'm having an issue accessing items on the stage from some imported code. I found this topic that discusses the same issue... [URL]
I'm not sure I totally understand how to go about this. I don't understand how to make the object global so I can access it from any class. (I have the same problem with an array I'm working with).
I have exported a page from InDesign to FLA that contains an InDesign multi-state object (MSO) and when I bring it into Flash and export as a SWF, the MSP just cycles through all the contained images. There's an Adobe KB that states that this is a known issue and that ActionScript can be used to stop the MSO from cycling. Does anyone know the ActionScript used to stop this?
I increased the size of my stage to 1280 x 1024 and now objects on the periphery have disappeared. When I zoom in they appear, but when I zoom out or export the movie the objects in the center are there but the objects around the edge do not appear. If I add an object and drag it to the edge I can watch it disappear as I am dragging it, but when I zoom in it is there. I have no masks and I need to create the video at the higher resolution, so I cannot resize the stage smaller.
I would like to start drag objects which is located in stage.There is movie clips in the stage which also encloses so many objects.when i click on any of the object it should be startdraged..Do u have any solution?
addEventListener(MouseEvent.MOUSE_UP, targetMC); function targetMC(MouseEvent:Event):void {
I am using math.random to randomly drop objects from the top of the stage. I had it working with one object. But as I wanted to increase the number to 6 objects, I added the following code: But I am "stuck" and so are the 6 objects at the top of the stage.[code]...