1152: Существует конфликт с унаследованным определением в пространстве имен public

У меня есть элемент библиотеки ActionScript 3, "BG", который связан с классом BGClass. BG содержит Sprite с именем экземпляра «bg», и аналогично BGClass имеет общедоступное свойство bg. Итак, класс выглядит так:

public class BGCass extends Base {

    public var bg:Sprite;

    public function BGCass() {
        bg.width = 200
    }
}

Все работает нормально. Но если я хочу переместить общедоступный bg в базовый класс, как это, я получаю сообщение об ошибке.

public class BGCass extends Base {
    public function BGCass() {
        bg.width = 200
    }
}

public class Base extends Sprite {

    public var bg:Sprite;

    public function Base() {
    }
}

Я пробовал использовать установщики геттеров в Base и переопределить их в BGClass, но все равно получаю ошибку. Это ошибка во Flash? Есть ли чистое решение или мне нужно создать какую-то прокси-переменную, чтобы наконец получить bg на Base? Я знаю, что отключение функции «автоматически объявлять экземпляры сцены» во Flash избавит от ошибки, но мне нужно оставить ее включенной для дизайнеров. Какие-нибудь решения?

10
задан AMIC MING 14 January 2013 в 18:23
поделиться