У меня есть два класса. Основной класс вызывает функцию, которая определена во втором классе. Я получаю следующую ошибку:
Ошибка 1120: доступ к неопределенному свойству myFunction
По сути, я создаю кнопки в главном классе, которые добавят соответствующий дочерний элемент к объекту во втором классе (если вы нажмете одну кнопку, будет добавлен дочерний элемент x1, если вы нажмете другую кнопку, дочерний элемент x2 будет добавлен и т. д.).
Вот соответствующий код для файла Main.as:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends MovieClip {
private var x1:X1 = new X1();
private var x2:X2 = new X2();
public function Main():void {
addPlayers();
}
public function addPlayers():void {
addChild(x1);
addChild(x2);
x1.x=325;
x1.y=5;
x2.x=366;
x2.y=5;
x1.label = "dog";
x2.label = "cat";
x1.addEventListener(MouseEvent.CLICK, selectPlayer);
x2.addEventListener(MouseEvent.CLICK, selectPlayer);
}
}
}
Код файла Second.as:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.MouseEvent;
public class Second extends MovieClip
{
public var myVar:MyVar = new MyVar();
public function Second():void
{
addChild(myVar);
}
private var mc_x1:Mc_x1 = new Mc_x1();
private var mc_x2:Mc_x2 = new Mc_x2();
public function selectPlayer(event:MouseEvent):void
{
if (Game(this.parent).turn == 0) {
myVar.addChild(mc_x1);
} else {
switch (event.currentTarget.label) {
case "dog":
myVar.addChild(mc_x1);
break;
case "cat":
myVar.addChild(mc_x2);
break;
default:
myVar.addChild(mc_x1);
}
}
}
}
}
Я пытался определить новую переменную как общедоступную статическую переменную, но это не сработало. Я также попытался импортировать Второй класс в Основной класс, и это тоже не сработало. Какие-нибудь мысли?
спасибо!