ActionScript 3.0 :: Reference A Sprite Or MovieClip Via A String?
Feb 21, 2009
I want to send a string to a function and then, via the string reference a Sprite. Are theire any other ways to adress a sprite with a String value?I thought this[myString].alpha = 0.5; was gonna do the trick but i keep getting (1010: A term is undefined and has no properties.). I tried every possible solution it feels like. Delaring Strings locally and Global...but i can�t get it to work. And the String is well spelled btw![code]
I cant get the this[] keyword to work. I want to send a string to a function and then, via the string reference a Sprite. Are theire any other ways to adress a sprite with a String value?I thought this[myString].alpha = 0.5; was gonna do the trick but i keep getting (1010: A term is undefined and has no properties.). I tried every possible solution it feels like. Delaring Strings locally and Global...but i can�t get it to work.
PHP Code:
//Nothing Worksthis["myString"].alpha = 0.5;this[myString].alpha = 0.5;//Anyway to reference a Sprite with a String?
I want to send a string to a function and then, via the string reference a Sprite. Are theire any other ways to adress a sprite with a String value?I thought this[myString].alpha = 0.5; was gonna do the trick but i keep getting (1010: A term is undefined and has no properties.). I tried every possible solution it feels like. Delaring Strings locally and Global...but i cant get it to work. And the String is well spelled btw!
PHP Code: //Nothin Worksthis["myString"].alpha = 0.5;this[myString].alpha = 0.5;//Anyway to reference a Sprite with a String???
How do I reference MovieClips or Sprites created in the Document class from a custom class?[code]But I have a lot objects I want to reference so using the above method would take to long.I know I can do this to reference a MovieClip on the main stage from a custom class.[code]Would referencing the sprite created in the document class be similar?
I'm trying to keep my code succinct by naming my section labels the same as the buttons that navigate to them. I've also put the contents of each page in a movie clip of the same name with suffix _mc. The following code successfully traces the name of the movie clip, but how do I tell the compiler that I want to reference the movie clip whose name is held in the string, rather than the string itself.
I thought since a Sprite is a display object container and I can add an instance of a MovieClip to it I should be able to reference the MC through the Sprite.
var bh1:Sprite = new Sprite(); beerChan = new BeerChan(); bh1.addChild(beerChan); trace("bh1 "+bh1); trace(bh1.beerChan);
1119: Access of possibly undefined property beerChan through a reference with static type flash.display:Sprite.
I'm trying to add some scroll bars to a Sprite using ScrollRect. The Sprite starts empty and when I add something at 500, 500, it should scroll, as it is outside the viewport. Unfortunately, adding a 10x10 Sprite at 500, 500, doesn't make my Sprite change its size to 510, 510, but to 10, 10 ::- (.
We all know that DisplayObjectContainers resize according to what's put in them. But I didn't know up until today that if you put something at 500, 500, the Sprite / DObjContainer will NOT resize from 0, 0 to 500, 500, but simply jump directly at 500, 500. Annoying, as I cannot put Scrollbars on something whose content fluctuates so. I need 0, 0 to remain 0, 0 and if something is placed at 500, 500, the sprite's height should increase with 500 + that something's height.
I'm trying to add some scroll bars to a Sprite using ScrollRect. The Sprite starts empty and when I add something at 500, 500, it should scroll, as it is outside the viewport. Unfortunately, adding a 10x10 Sprite at 500, 500, doesn't make my Sprite change its size to 510, 510, but to 10, 10 ::- (.
We all know that DisplayObjectContainers resize according to what's put in them. But I didn't know up until today that if you put something at 500, 500, the Sprite / DObjContainer will NOT resize from 0, 0 to 500, 500, but simply jump directly at 500, 500. Annoying, as I cannot put Scrollbars on something whose content fluctuates so. I need 0, 0 to remain 0, 0 and if something is placed at 500, 500, the sprite's height should increase with 500 + that something's height.
I've checked this behaviour: If I define a sprite (by programming) as: var square:Sprite = new Sprite(); square.graphics.beginFill(16750899, 1); square.graphics.drawRect(0, 0, width, height); square.graphics.endFill(); return square; When I check the position of the sprite ( square.x, square.y), they reference the TOP-LEFT CORNER.
If I create a symbol by Flash CS4 and export to Actionscript (I also associate one class which extends Sprite for doing "new()" in my code): var square: MyClassExtendsSprite = new MyClassExtendsSprite(); When I check the position of the sprite (x, y), they reference the CENTRE of the sprite!
I've got a set of arrays being dynamically generated with paths to nested movieclips. The paths are coming in as strings, and I can't seem to get them to work as movie clip instance variables.as example, a string would be:
siteMC.b1MC.b1f1MC.rMC (that path works fine outside of the array)
How do I get that kind of nested path from the string to something flash wont spit out as null?
Is there, uh, a way to use the value of a string to reference a variable name?
I'm trying to dynamically assign XML node names and attributes using a string value, I tried something like this:
Code: var sItem:String = "book"; // to be dynamically assigned for (var i:uint; i < _xml.book.length(); i++) { aList.push(_xml.(this[sItem])[i].@title);
I'm wondering, and hoping, if I can access and use a specific instance of an object if I only have the name of the object instance in a string? The code below perhaps explains it a littler better.
I want to reuse these two functions for about 10 items that need to be dragged and dropped. I need to reference 10 Boolean variables on the main timeline by building strings in the functions to make up the Boolean names so I can reuse the functions. Check the coded in red. [URL] Fla is above
I am trying to set the value of some static vars but I need to reference the class with a string rather than a proper constructor. In AS3 I can do this with:
var ref:Class = getDefinitionByName(classDefinitionAsString) as Class; ref[varNameAsString] = newValue;
I can't find an equivelant approach that will work in AS2 though. I have tried:
var ref:Object = new [classDefinitionAsString]; ref[varNameAsString] = newValue;
This seems to just create an Object and as the vars that I am trying to access are static I don't really want to be using 'new' I just want to reference the vars.
I need to compare a number with a element in a Array(curModeDisplay), I can trace the element and see it without problem. But when I try to compare the inside element with a String, it didn't work. Why?
ActionScript Code: curModeDisplay = new Array(); \this is the Array I need for (var tvM:XMLNode = tv.firstChild; tvM!=null; tvM=tvM.nextSibling){ curModeDisplay.push(tvM.childNodes); \received element fine here } trace(curModeDisplay); \ This works fine. Array displays correctly
When I need those elements from the Array(curModeDisplay) and try to make some comparison work, it did not work:
ActionScript Code: function DigitCompare():Void{ for(var index in curModeDisplay){ if(curModeDisplay[index]=="11265"){ //it seems didn't work here
[code]....
Is that because the element in the Array is reference to the XML node, and "11265" is String. If so, how should I fix this problem. The "11265" will be changed to any named String type variable in the future.
how to make a simple AS3 class.I've made a simple calculator application that allows you to add, subtract, multiply, and divide after entering 2 values into their respective text box.The problem, how ever, is once I moved it into it's own class, I cannot figure out how to reference the text fields. I have the movie clips referenced just fine, but, I cannot figure out the text fields.Here are the errors it's spitting out:
Code: 1120: Access of undefined property Number1_txt. 1120: Access of undefined property Number2_txt. 1120: Access of undefined property finalValue_txt.
And it does that for each instance of those in the Calculator.as
Main.as
Code: package { import flash.display.MovieClip; public class Main extends MovieClip {
So i have an external text file organized like this:
/* $file: data.txt */ &title0=Sacrum &detail0=Detail text for Sacrum &title1=L5
[Code].....
There are 28 of these 'title' and 'detail' pairs. The 'title' text is to fill a dynamic text box and the 'detail' to fill another dynamic text box depending on which section the user is mousing over.
My issue is getting the text from the file stored into arrays. For my test loop I keep getting undefined as the stored value, and i know it has something to do with converting a string value to object..
var lv:LoadVars = new LoadVars(); lv.onLoad = handleDataLoad; lv.load('data.txt'); function handleDataLoad (success:Boolean) {
I am trying to make a reference to a movieclip instance that is in another movieclip.
Here's the deal: I have a main timeline for different pages of a website...then within that I make all of the art on each page into a movieclip so I can do animations every time that main timeline frame is called to, yet still keep my main timeline clean.
Within one page's movieclip I have a few buttons that I want to use to go to other pages by referencing them on the main timeline.I have been using this: (home_about is the about us button on my home page, and frame 31 is on the main timeline).
home_about.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame_6); function fl_ClickToGoToAndPlayFromFrame_6(event:MouseEvent) :void {[code].............
Since this home_about is within another movieclip,I get the access of undefined property error. Do I need to change the code I've pasted above or add in variable definitions to fix this?
var myPercStr = myStr.text; myPercStr= myPercStr.toString(); var myPerc = Number(myPercStr);
I am trying to get the value of a text field which is created by the user pushing a pin-pad. This text field is a string which is joined() from an Array of the sequence of pin-pad entries. Now my problem is that Flash will not convert the .text text field into a string with which I can use the value to convert to a Number and perform math on it.
I need to use softkeyboard for a flash program developed for windows desktop, and I tried the example given on the following page: [URL] When I test the movie, it gives me a compiler error: 1119: Access of possibly undefined property needsSoftKeyboard through a reference with static type flash.display:Sprite. I noticed that this feature is available to flash players 10.2 or higher, so I updated my CS4, but it still didn't work. Does anybody know what is causing the problem?
I am trying to create an interactive graphic. Basically, it's three squares layered on top of each other, with a large square in back, a medium square centered in the middle of the large square, and a small square in front centered in the middle of the medium square.
When you roll over the medium square, say, it expands to almost the size of the large square and some text fades in, and the small square on top of it fades away. When you roll off of the medium square, it goes back to it's smaller size, and the small square fades back in.
Currently, I have the actionscript in the movieclip to make the medium square get larger and smaller (and the text fade in), but I need to somehow reference the instance of the small square movieclip to hide it when I roll over the medium movieclip.
My actionscript for the medium square activity, currently:
I have built a movieclip (parentMC) that houses two movieclips within it (mcA, mcB).
in mcA, i'm dynamically attaching movieclips from the library through a loop.
in mcB i'm trying to reference a particular movieclip from mcA via "_parent.mcA". Doesn't seem to be working. However, when i reference said movieclips from the loop within mcA - or even parentMC, it works fine.
i have created a movieclip (parentMC) that houses two movieclips within it (childA and childB)
in childA, i am dynamically creating movieclips via a loop:
Code: var newX = 0; var pagTotal = 8; for(i=1; i<pagTotal+1; i++){
[Code].....
...and in childB i'm trying to reference one of these created movieclips via "_parent.childA.pagClip01" so on and so forth.
but they dont seem to be working. when i trace the dynamic clip from within childB i keep getting "undefined" in the output. however, I can reference the movieclip from within childA, and even from parentMC no problem.
i've used _root and _level0 absolute paths and still the same failed result.
My code is simply looping through an xml file and creating 'pages' (which are later animated).
This has all worked fine but now I want to add a sprite over the entire contents of the page if the contents of the xml contain a URL.
At run-time I can see that the checks for the URL are being processed correctly and that the overlay is being generated, but I cannot "see" it on the page.
The following code is located in a for loop for every page in the xml file:
var page:Page = new Page(); //MovieClip in my library // ... other stuff var textMC:FadeText = new FadeText(xml); //load the text from the xml fragment for this page
[Code]....
I now believe it is something wrong with the XML. It is correctly parsed XML (otherwise FlashPlayer would throw exceptions in my face) and it appears that this code works on every page except the second. Further more, if the second page is set as visible (a flag in the XML determins if the page is created or not) then none of the other pages overlay works.
What is the difference between a movieclip and a sprite. Why some programmers using sprite instead of a movieclip? What is the advantage of using sprite? Can we use sprite in the stage? Will the sprite reduce the space occupation than a mc?