代码之家  ›  专栏  ›  技术社区  ›  wpjmurray

将库类的成员重铸为扩展类中的新类型

  •  2
  • wpjmurray  · 技术社区  · 14 年前

    我用flash builder 4创建了一个flv视频播放器。这个“basicvideoplayer”项目被编译成一个SWC,最终将用于创建其他扩展功能的视频播放器。其中一个功能是当视频播放完毕后显示的视图,该视图显示“再次播放”按钮。这个“重放”视图有自己的类“basicPlayAgain”,它接受从包含所有图形/ui资产的.fla文件导出的图形资产。

    在我的新项目“enhancedvideoplayer”中,我使用basicvideoplayer swc作为库来创建一个新的视频播放器,它将为“再次播放”视图添加更多功能;特别是它将为该视图添加更多按钮。

    enhancedvideoplayer使用扩展basicvideoplayer类的默认类。basicvideoplayer类有一个名为“playaginscreen”的成员,其类型为basicplayAgain。Enhancedvideoplayer需要覆盖PlayAgain成员,并将其重新编码为EnhancedPlayAgain,以便正确控制新按钮。

    如何将PlayAgain成员重写为新类型?或者我是从错误的方向接近这个?

    1 回复  |  直到 14 年前
        1
  •  1
  •   CommissarXiii    14 年前

    一种可能的解决方案是,如果enhancedplayainer对象再次扩展basicplayAgain,您仍然可以将其存储在playaginscreen变量中,然后根据需要重新转换回enhancedplayAgain。

    EnhancedPlayAgain(playAgainScreen).someAdditionalMethod();