Быстрый вопрос. Я все утро был в Google, но он либо не был, либо написан таким образом, который не регистрируется. Я склонен поверить в последнее, так как кажется, что это должно быть что-то совершенно тривиальное для меня.Как ссылаться на экземпляр класса из другого экземпляра класса в ActionScript 3.0?
Я сделал небольшой Flash-файл с использованием AS 3.0, и это первый раз, когда я действительно смог придерживаться способа ООП делать что-то, а не взламывать смесь вещей с временной шкалы, чтобы обойти все работает в классах.
Поэтому я хотел бы сохранить его таким образом, но одна вещь ускользает от меня: я не могу вызвать метод экземпляра другого класса (чем тот, с которым я звоню), не прибегая к «DocumentClass (корень) .instanceName.method «.
Intuition говорит мне, что должен быть лучший способ сделать это (например, без необходимости ссылаться на класс документа каждый раз, когда я вызываю функцию другого экземпляра класса, и НЕОБХОДИМО использовать слово «корень» - это просто кажется настолько Flash 5 мне
кто-нибудь есть лучший способ сделать это, что они могут поделиться
Спасибо заранее SS
редактировать:.?! Вот некоторые соответствующий код: Основной класс:
package myApp {
import flash.display.*;
import flash.events.*;
public class Main extends flash.display.MovieClip {
public var background;
public var control;
public function Main() {
//load the background
this.background = new Background();
this.addChild(background);
//load the control
this.control = new Control;
this.addChild(control);
}
}
}
Фоновый: класс
package myApp {
import flash.display.*;
import flash.events.*;
public class Background extends flash.display.MovieClip {
public function Background() {
this.x = 0;
this.y = 0;
}
public function doSomething() {
//do something here
}
}
}
управления:
package myApp {
import flash.display.*;
import flash.events.*;
public class Control extends flash.display.MovieClip {
private var section01;
private var section02;
private var section03;
public function Control() {
//some constructor code here
}
public function doSomethingCaller() {
MyApp(root).background.doSomething(); <--- HERE
}
}
}
Извините, но это просто пошло прямо над моей головой.Например, я не понимаю, почему вы импортируете дополнительные классы в свой основной класс, и это заставляет меня думать, может быть, я делаю что-то неправильно. Позвольте мне опубликовать код выше, и, возможно, вы увидите, о чем я говорю. – StormShadow 2010-12-10 08:42:29