Копирование нормального класса в расширенный класс (неявное приведение) - PullRequest
0 голосов
/ 18 февраля 2012

Я работаю над проектом и расширил этап (я просто хотел добавить одну функцию).

В любом случае, я создал новый класс Stage (назовем его StageX), и у меня была строка кода, подобная этой:

var newstage:StageX = stage;

Но это дает мне неявную ошибку принуждения.

У меня вопрос: есть ли способ скопировать все из текущего этапа var в новый StageX? Или мне нужно создать новую функцию "convertToStageX" и сделать это самому? Или нет смысла расширять сцену, потому что она является неотъемлемой частью вспышки?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 февраля 2012

Попробуйте:

var newstage:StageX = StageX(stage); // throws an error if the cast is not possible

Или

var newstage:StageX = stage as StageX; // new stage is null if the cast is not possible
0 голосов
/ 18 февраля 2012

Я не вижу причин, по которым вы хотели бы продлить этап. Вы можете просто создать объект, имеющий ссылку на stage, который имеет методы, которые вы можете вызывать и которые каким-то образом влияют на stage. Это инкапсулирует функциональность и не даст вам возиться с реальной сценой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...