Hello,
I’ve decided that in my attempts to learn flash, I had started, well, to big… so, I’ve went back to the basics and have started working on learning 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:
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
package {
import flash.display.MovieClip;
public class Main extends MovieClip {
public var plus_btn:MovieClip;
public var minus_btn:MovieClip;
public var mult_btn:MovieClip;
public var div_btn:MovieClip;
public var urlLINK_btn:MovieClip;
public var Number1_txt:String;
public var Number2_txt:String;
public var finalValue_txt:String;
public function Main() {
var calculator:Calculator = new Calculator(plus_btn, minus_btn, mult_btn, div_btn, urlLINK_btn, Number1_txt, Number2_txt, finalValue_txt);
}
}
}
Calculator.as
package {
import com.plagro.loaders.getURL;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class Calculator extends MovieClip {
public var finalValue:Number;
public function Calculator(plus_btn:MovieClip, minus_btn:MovieClip, mult_btn:MovieClip, div_btn:MovieClip, urlLINK_btn:MovieClip, Number1_txt:String, Number2_txt:String, finalValue_txt:String) { //ADD IDENTIFIERS HERE TO MAKE IT MORE DYNAMICS
plus_btn.buttonMode = true;
minus_btn.buttonMode = true;
mult_btn.buttonMode = true;
div_btn.buttonMode = true;
urlLINK_btn.buttonMode = true;
plus_btn.addEventListener(MouseEvent.CLICK, plusClick);
minus_btn.addEventListener(MouseEvent.CLICK, minusClick);
mult_btn.addEventListener(MouseEvent.CLICK, multClick);
div_btn.addEventListener(MouseEvent.CLICK, divClick);
urlLINK_btn.addEventListener(MouseEvent.CLICK, URLClick);
}
function plusClick(e:Event) {
var value1:Number = Number(Number1_txt.text);
var value2:Number = Number(Number2_txt.text);
finalValue = value1 + value2;
finalValue_txt.text = String(finalValue);
}
function minusClick(e:Event) {
var value1:Number = Number(Number1_txt.text);
var value2:Number = Number(Number2_txt.text);
finalValue = value1 - value2;
finalValue_txt.text = String(finalValue);
}
function multClick(e:Event) {
var value1:Number = Number(Number1_txt.text);
var value2:Number = Number(Number2_txt.text);
finalValue = value1 * value2;
finalValue_txt.text = String(finalValue);
}
function divClick(e:Event) {
var value1:Number = Number(Number1_txt.text);
var value2:Number = Number(Number2_txt.text);
finalValue = value1 / value2;
finalValue_txt.text = String(finalValue);
}
function URLClick(e:Event) {
new getURL("http://www.url.com/");
}
}
}
Any help will be greatly appreciated.
Thanks in advance,
Naezo