ActionScript 3.0 :: [CS4] Compiler Doesn't See Functions And Vars From Class?
Jun 27, 2011
Lately I changed Flash CS3 for CS4. In older version classes written by me worked fine.However, in CS4 I have serious problem with them. Compiler states that part of my functions and vars are undefined, which is not true. I tried everything - changing name of class, functions, moving class file to different directory, removing package. I even counted { to check if they have pairs. I'm really out of options what can cause those errors.Here are error given by compiler:
Quote:
1120: Access of undefined property mnChangeMan.
1120: Access of undefined property ChangeManSliders.
Lately I changed Flash CS3 for CS4. In older version classes written by me worked fine. However, in CS4 I have serious problem with them. Compiler states that part of my functions and vars are undefined, which is not true. I tried everything - changing name of class, functions, moving class file to different directory, removing package. I even counted { to check if they have pairs. I'm really out of options what can cause those errors.
Here are error given by compiler:
1120: Access of undefined property mnChangeMan. 1120: Access of undefined property ChangeManSliders. 1120: Access of undefined property ChangeManInput.
Lately I changed Flash CS3 for CS4. In older version classes written by me worked fine. However, in CS4 I have serious problem with them. Compiler states that part of my functions and vars are undefined, which is not true. I tried everything - changing name of class, functions, moving class file to different directory, removing package. I even counted { to check if they have pairs. I'm really out of options what can cause those errors.
Here are error given by compiler:
Quote:
1120: Access of undefined property mnChangeMan. 1120: Access of undefined property ChangeManSliders. 1120: Access of undefined property ChangeManInput.
how can i call public functions or vars of a sprite class from another class (or frame script)? i keep getting 1061: Call to a possibly undefined method getSide through a reference with static type flash.display:Sprite.
//Framescript var a:Sprite = new customRect(); addChild(a);
You know, in C++, C# and other educated languages, we got the chance to enable/disable the availability of some code in a certain class via compiler arguments. Take #if and #endif for example. You give an argument to the compiler, for example PROJECT_TDD_MODE, when a certain bunch of function would exist in the final code, but without defining that, or defining it as FALSE, the code would not exist in the compiled result.
Why don't we have something like this in AS3?
Later Edit: what I want to achieve is this:
2. Compiler if-statements CANNOT be written OUTSIDE the functions. [code]...
I have one function that puts text in a text field and makes a button goto a url onRelease.The code is like this:
Code: item.onRelease = function() { myButton.onRelease = function() { getURL("http://google.com", "_blank"); } talk = this.txt; } the only problem is that the button doesn't work onRelease. i think that it is because there are too many functions there, but at the same time,
since i started using Flash Builder (Flex 4) i could see that it can auto-generate some handlers for example if i have a <s:Button> and i add a click="" i get a hint of "Generate Click Handler" and when i click Enter he writes this code:
Code: protected function button1_clickHandler(event:MouseEvent):void { // TODO Auto-generated method stub }
Now i knew about public and private things(functions/vars) and if a function was public i could execute it form outside of the class and inside. But if it was private i could only execute it from inside of the class and i couldn't execute it from outside of the class.
So anyway, what does "protected" mean? what does it do?I was thinking that if i load a SWF in my app I can go inside of that SWF and execute functions, read values from variables, or anything like that ... and that seems like a security problem ... So i was wondering if the "protected" keyword could help me with this security problem. And if not, I would like to know what is it good for
i am builiding a photogallery where at each stage i load six thumbnails. Each "placeholder" is initially set to 20% xscale and yscale and when each thumb has fully loaded, i want to have the thumb tween from 20% to 80%. The jpg thumbs are loaded inside the placeholder.when the thumb has fully loaded, goodToGo = 110 and so i want to trigger the AS tween.[code]to get some idea of how it would look, check out URL...and click inside any of the collections.
Could anyone suggest how to fix the function at the bottom so that when button forward_btn with label "Go to next Training Point" when clicked recalculates the fields created in function fileLoaded.[code]
I narrowed the causes of an AS3 compiler error 1119 down to code that looks similar to this:
var test_inst:Number = 2.953; trace(test_inst); trace(test_inst.constructor);
I get the error "1119: Access of possibly undefined property constructor through a reference with static type Number." Now if I omit the variable's type, I don't get that error:
[Code]...
So what's the deal? I like explicitly typing variables, so is there any way to solve this error other than not providing the variable's type?
I've been sorting through the XML docs and i've bumped my head into a bit of a question. So, to preface, I have been able to load the XML successfully, but I want to be able to use my own XML loader class to load the XML and then be able to reference it from the document class. Also, I'd like to be able to send a file path to the loader class when I call it.
I have created a MovieClip with a custom class that has a dynamic text field (called "textArea"), which I want to modify by the Component Inspector, as well as via a custom method using: textArea.text = newText;
It works fine in all cases and there are no problems, but the compiler still wants to give me the error: 1120: Access of undefined property textArea.
The error doesn't appear when I remove the component parameters (so that it's just a normal MovieClip). It still works, even with the error, so I'm not sure why it wants to complain. Am I doing something wrong or is it just being bitchy?
I've been experimenting with Senocular's Transformation Tool, and keep getting this warning at Line 1309 of the Transformation Tool Class version 0.9.11:
Warning: 3553: Function value used where type Boolean was expected. Possibly the parentheses () are missing after this function reference. Line 1309: if (interactionMethod && _transformTool.currentControl == this) {
I just commented out the line and put: if (_transformTool.currentControl == this) { And the swf runs fine.
It can be seen from this that Flash VM can set attribute to built-in Class, but compiler prohibits that. Is this a bug or a characteristic in Flash VM?
I've seen some discussion on how to load a child swf using swfLoader and accessing it's variables but I am wondering if it is possible to do this without adding any code to the child swf.Either accessing public vars or listening for funciton calls would work fine
This is more of a rant than a question; but I am curious to know if anyone has some insight for me. The application I am working on deals with a C# .NET backend; communication is achieved via a socket over which we push AMF objects. The AMF object class definitions are generated by the server side team and I just have to use registerClassAlias on the flash side to link them up - pretty standard; the only difference being that as they come from a C# background they prefer to use UpperCammelCasing instead of lowerCamelCasing for property names.
Today I got a bunch of updated AMF objects which I dropped into the project; but I noticed that after updating my project would no longer compile [code]...
i think i might be missing some information here about how to manage classes and display objects. In the main .fla i have a mc called player; so I made a player.as class and put a linkage on player mc considering it would work as the mcs class. Well, its not working, the mclip is not noticing any of the vars and functions i added in the class. Anyone figures whats going on? How to make it work?
if i want from a document class to access some variables in other classes (which are imported into that document class) does these variables need to be public to access them or they can be something else?
I need something like 100 movieClip with custom class...How can I avoid repeating them like that:[code]And I check the array in the class.... am I wrong or is there a better way to do it ?
I'm creating a flash project and would like to pilot the most variables (eg: colors, texts, sizes, ...) from a single XML file and then spread them in my document class.
Code: public var yourName:String; public var myXMLLoader:URLLoader = new URLLoader(); public function intro():void {
[Code]....
Right now I got no errors but I got nothing when tracing the "yourName" var.
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
For the example, there's a single FLA with a document class "main.as." In the public class main.as package, there is a public variable: "var example:String='example';." Inside of the FLA, there is one movie clip in the library and it is assigned a custom base class "sub.as." The movie clip is then placed on the first frame of the stage so its constructor is run at runtime and reads the value of example.
What is the proper way to get the value of "example" in the root document class? Using "root.example" in the sub.as class to target the document class returns an error and when I trace "root", I get "null." Main.example naturally throws an error because that's looking at the actual class and not the movie / stage its attached to.The round-about way I've done it before is to dynamically add the object in the library and pass in the root path when I create a new instance of it (example: submc:sub = new sub(this); ).Is there anyway to get back to the document class with a built-in method like root, etc?