AS3: создание класса с несколькими и необязательными параметрами? - PullRequest
1 голос
/ 18 мая 2010

Я создаю слайд-шоу, где каждый слайд может иметь: - видео или фото - 1 звуковая дорожка или много (до 3) - 1 кнопка или несколько (до 3)

Я думал, что каждый слайд может быть своим собственным объектом, и тогда я передал бы видео, аудио, кнопки и т. Д. В него в качестве параметров:

package 
{
    import flash.media.Video;

    public class Section
    {
        public function Section (video:Video, still:myPhotoClass, audiotrack:Sound, button:myButtonClass) {
            // can have video OR a still
            // can have 1 audio track or several
            // can have 1 button or more
        }
    }

Я не уверен, как к этому приблизиться, поскольку может быть несколько элементов (аудио, кнопки), а также два элемента являются необязательными в том смысле, что может быть ОДИН или ДРУГОЙ (видео /still).

Например, это то, что я должен просто избегать передачи в качестве параметров, используя другой подход (возможно, получатели / установщики)?

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Попробуйте "... (остальные) параметр"

private var _optionalParam:Array;  

public function exOptionalParam(arg1:Number, ...optionalParam) {    

  _optionalParam = optionalParam;

  trace(_optionalParam );  // [all the additional arguments]
}  
0 голосов
/ 18 мая 2010

Посмотрим, как это пойдет:

Вы можете добавить все свои параметры и установить их в null, чтобы они не были нужны, например: video: Video = null, still: myPhotoClass = null, audiotrack1: Sound = null, audiotrack2: Sound, audiotrack3: null, button1 ... и т. д. (сработал простой тест)

Или просто передайте массив для элементов с несколькими элементами или вектор правильного типа.

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