Как добавить параметры в конструктор класса A, подкласса Movieclip, присутствующего на этапе разработки

#flash #actionscript-3

#flash #actionscript-3

Вопрос:

Существует библиотечный компонент, представленный классом A. Но конструктору этого класса требуются некоторые параметры. Когда компонент нужно добавлять динамически, это нормально из-за кода :

var abc:A = новый A(param1,param2)

Но что, если мой movieclip уже присутствует на этапе разработки. Я замечаю, что выдает ошибку, что параметры равны нулю.

Есть ли у них какой-либо способ вставить параметры конструктора для movieclips, уже находящихся на стадии.

Спасибо

Ответ №1:

Вишвас, любые символы на стадии создания уже были созданы. Вы не можете снова вызвать их конструктор. Вместо этого попробуйте написать общедоступную функцию в этих классах, которая устанавливает нужные вам переменные. Внутренне, если эти переменные не заданы, вы можете переключить видимость на false и подождать или просто ничего не обрабатывать. Как только они установлены, ваши клипы выключаются и запускаются снова.

Затем, в дополнение к вызову общедоступной функции для клипов на этапе разработки, вы можете добавить необязательные параметры в конструктор для тех экземпляров, которые вы создадите с помощью кода, а не Flash IDE. Если параметры существуют в конструкторе, просто продолжайте и вызовите функцию прямо там.

 public function Constructor ( var1:String = '', var2:MovieClip = null) {
    if (var1 amp;amp; var2) init (var1, var2);
}

public function init (var1:String, var2:MovieClip) {
    ...
}
  

Ответ №2:

Вы можете установить параметры по умолчанию в конструкторе, например:

 function A(param1:String = "default", param2:int=5):void {

}
  

Тогда видеоролики, добавленные на этап, будут использовать эти значения по умолчанию, но вы можете использовать другие параметры в динамически создаваемых компонентах.