ActionScript 3.0 :: Static Class To Change TextField?
Jan 19, 2012
I'm trying to make a static class that will change the text written in a TextField inside a SWF file.
In this case I have a MovieClip with a TextField inside with a message. I want to be able to make a class that giving this TextField and a message, that will change in the button.
Certainly that I'm forgetting something obvious, I get the correct trace messages, but the textfield disappears. The initial text is "Start" and I want to change that to "OK". For now I just want to change the text, but after I want to be able to change the text format.
So far I have this:
package
{
import flash.display.MovieClip;
public class ChangeTextField extends MovieClip
Alright, so I have a class that is linked (via the linkage panel) to a scrollbox class. I'll paste the class here:[code]Ignoring the formatting, the commented out functions are the ones causing the issue. Adobe says that it's a static class and I can't use non-static functions. The way I wanted to use it was:
1. Call the page button generating function above.
2. In the main code in my program is this line:scrollbox.setClickFunction(historyContent.generate Page);So when the buttons that are supposed to be generated are clicked, the scrollbox class can call the History pages generatePage function and pass it which page to show. (I did this because there was a lot of text and a limit on how much would display, so small chunks sounded logical).
3. In the onClick function (which I haven't finished yet because the rest wont work), when you click one of the buttons it calls the set function. Its that simple.
I'm wondering if anyone has experience with if there is a big difference in performance in ActionScript 3 between keeping a class with only public static functions, and utilizing those functions often (as in a frame event at 30fps), and in turning the class into a "normal" class of which I instead make an instance and call the functions via the instance instead.
I realize this is kind of an odd issue, but I am wondering if there's any way to get Flash to allow me to access a class's static functions using a class variable that points to the class. Example:I create a class called FooClass that has a static function named fooI then create a variable of type Class that points to it
Code: var class:Class = Class(getDefinitionByName("FooClass")); However, when I try to call foo() using the variable, it errors saying the function
Just transitioning into object orient programming and I got stuck trying to create textField using static function. I searched online about this and none of them were useful. I dont want this to be just public function because then I cant access this function from other classes. I would like every classes to access this function so I need it to be static.
package { import blahblah public class example extends MovieClip{[code]..........
I've got a flash document using AS3. It dynamically reads data from an XML file, and creates a bunch of single line textFields. Could be like this:
<XMLdata> <Line>this is line 1</Line> <Line>this is line 2</Line> <Line>this is line 3</Line> </XMLdata>
So, for each node, it would create a new TextField, and change the textField.y value so that they are "stacked" on top of each other. All this if fine, except that if you hae so many "lines" (or textfields) that the "stack" is taller than the Flash Document size. What I would like to do is have a scroll bar or something so you can scroll the stack of TextFields. Doesnt' even need to be a scroll bar. Maybe an arrow button at the bottom, and when you click on it, it scrolls down. One for up too.
When the user presses the mouse, and releases it over a static textfield with selectable text, no MOUSE_UP event is fired - not on the stage and also nowhere else.I experienced this when using a scrollbar class on a movieclip with a nested static textfield.When the user drags the scroll handle and releases the mouse over the textfield, the dragging/scrolling is stuck.To test this, create a new AS3 fla file, place a static textfield somewhere, and put in some text. Make sure the selectable property is checked in the properties panel.Add this script to the timeline:[code]Now test the movie and click the mouse. You will notice that trace('up') will not occur when you release the mouse over the textfield.
My scene has a TextField object. I set up my TextField as DynamicText because I need to change it programmatically.
How do I prevent mouse cursor change to I-Beam form when it's above TextField? Also, user of my flash application is able to select text of this TextField using mouse cursor. I would like to disable this behavoiur too.
I'm re-writing an MXML item renderer in pure AS. A problem I can't seem to get past is how to have each item renderer react to a change on a static property on the item renderer class. In the MXML version, I have the following binding set up on the itemenderer:instanceProperty=callInstanceFunction(ItemRenderer.staticProperty)What would be the equivalent way of setting this up in AS (using BindingUtils, I assume)?PDATE:So I thought the following wasn't working, but it appears as if Flex is suppressing errors thrown in the instanceFunction, making it appear as if the binding itself is bad. indingUtils.bindSetter(instanceFunction, ItemRenderer, "staticProperty");However, when instanceFunction is called, already initialized variables on the given instance are all null, which was the cause of the errors referenced above.
Hi there, i am hoping for some advice on structure/optimisation from some of you experts . I am working on a portfolio system that is modular, each module works in a self contained way and does not require the other modules to function, though they can be 'linked' by having them all reference the same PortfolioData() class.
im happy with how it is working, but i feel there could be a better way to share the datasource between all classes rather than duplicating it and storing a copy in each class.
I need to create a static frame and a changing content... currently envisaged as frame containing the side panel and header and footer content.
The content panel will call mxml based on the content sought.
a) how is the frame paradigm- with static frame "containing" other content done. I dont want to repeat the header and footer logic in every 'content section' code?
b) how is the hyperlinking between content sections done- using 'states' seems convoluted
i'm trying to learn about clases, and i tried to make an easy XML loader, but i gotta a problem with the attributes that doen't take the value i provide with the att variable. it shows me on the trace statement like undefined, and for example if i change the atrribute instead of being dynamic, to be static, it does work.
Code: class XMLS { function XMLS(Path:String, textfield:TextField, att:String, n:Number) { var miXML:XML = new XML();[code].....
Ok, this is one of those walls that I know once I can jump over it, I will be a much happier developer again.
I've done tons of reading, and think I have a firm understanding that the general consensus is that if you want to reference something, it needs to be added to the display list, using addChild().
I hate to be defiant, but what if I don't want to?
Or at the very least, what if I want to add a movieclip class to the stage using addChild, and then reference objects inside it?
It is much easier this way than what most people recommend - adding 15 objects via addChild, then setting the x and y for the, etc.
That said, I'm all about using classes and using as3 the way it was meant to be used. So what this is, is a best practices question I guess.
HERE ARE THE STEPS I'M TRYING:
- Create new flash document
- Draw graphic symbol bg, with text field over it, select them, convert to movieclip symbol, and export class name "box", then delete it from stage
- Add document class .as file, which simply adds that class "box" from the library, to the display list using a simple addChild()
- Set a name for that box using box.name = "test" let's say
- Do a simple trace like the following - "getChildByName('test').textFieldName" - it shows up great
- So then, I'll now try to set the text by doing this - getChildByName('test').textFieldName.text = "yo";
That last line above, is what doesn't work. I know I'm referencing wrong, but how would a pro as3 developer, reference something on the stage within a movieclip class, from the document class?
I can't use dispatchEvent in my static class, I was wondering if anyone knew how I can achieve similar functionality or if it's possible at all to call dispatchEvent from my static class? I basically want to inform my action script code in my flash file when functionality in my static class is complete.
I am trying to create a class out of some code senocular wrote on another forum. The code controls the changing of a display object from one color to another. It's called InterpolateColor.I have managed to create a class out of the original code but I am trying to make the class static so that I don't have to create an instance of it in my controller class... I just want to access it by importing it at the top and then saying something like ActionScript Code:InterpolateColor.interpolate( _myMC, 0xFFFFFF );The problem, I keep getting errors when I try and change the class initialize line to ActionScript Code:static public class InterpolateColorWhat have I done wrong in my translation to a class that is preventing me from accessing this in a static way Here's the whole class:
I need to created a static AS3 class to pass variables between modules/ views. For some reason I don't see how to do this in my book or on Adobe. I want a class of "get" and "set" functions.
[code]The compiler is throwing 3 errors of the same type 1119(1119: Access of possibly undefined property enemyList through a reference with static type Class.) and pointing to the 3 places where I used enemyList in the Hero class. Why cant I use the static array in the Hero class? Or is there another method to detect collision through the available enemies on screen?
I'm working with swf's generated by InDesign CS5, which will apparently only export text as staticText objects. Is it possible to alter the anti-alias of staticText? I want to make it for readability, but it defaults to animation with no apparent way of changing it. I recently got help for textFields, but I can't seem to get it to work on staticText.
I'm just now learning the new object oriented way of scripting. It's been a wild ride, but I've finally learned how to keep script off my frames (very hard coming from as2).Here's my problem:
I have a TextField on the stage in my main .fla file named loadPercent.
I'm loading a jpg with preLoad.as and displaying the bytes loaded in loadPercent.
I can access my loadPercent TextField from my MainClass
I get three '#1120 access of undefined propery' errors for each time i try to access loadPercent.
a few basic questions: 1. all my files are in a folder in my documents, not in the flash directory, is this bad? I've seen people using com.whatever etc.
2. my main .fla file does not share the same name as my MainClass.as (it's not named MainClass.fla) Is that a problem?
I'm assuming these are inconsequential because my code seems to work up to a certain point.
I have a static utility class that must have a reference to the stage, and I'm not sure what is the best option for me to get the stage inside my class...
I've thought of these options:Pass in as a parameter of the function Have a static variable I can set to the stage I don't like either of these because they are ugly.
What methods can you suggest for me to get a reference to the stage in my static class?
I am working on a Flash site template for which I am implementing the possibility for the users to change the theme dynamically while the site is opened.Basically, the site will have a few themes available and when the user selects a new theme, all of the site objects will change their properties (colors, alpha, fonts, etc) to fit the new theme.
And my questions is what is the best approach to sending the theme information to all of the objects in the site.I was thinking of making a static class called "Theme" and when the objects need a property, they will call a static getter of the Theme class that will return the appropriate property value for the object.But, from my understanding, static properties are quite slow and seeing that I may need quite a lot of them, maybe more that 100 for the whole site, will this approach be too slow ?