我正在制作幻灯片,每张幻灯片都可以: - 视频或静止 - 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
}
}
我不确定如何接近这个,因为可能存在多个特定项目(音频,按钮),并且还有两个项目是可选的,可以是ONE或OTHER(视频) /静止)。
例如,我应该避免使用不同的方法(可能是getter / setter)完全避免作为参数传递吗?
答案 0 :(得分:1)
private var _optionalParam:Array;
public function exOptionalParam(arg1:Number, ...optionalParam) {
_optionalParam = optionalParam;
trace(_optionalParam ); // [all the additional arguments]
}
答案 1 :(得分:0)
让我们看看这是怎么回事:
你可以添加所有参数并将它们设置为null以便不需要它们,例如:video:Video = null,still:myPhotoClass = null,audiotrack1:Sound = null,audiotrack2:Sound,audiotrack3:null, button1 ...等(简单测试工作)
或者只为具有多个项目的数组或正确类型的矢量传递数组。