AS3初学者:如何将这些简单的代码放在一起?

时间:2011-09-08 06:29:20

标签: actionscript-3

我是AS3的新手,我需要帮助将FLVPlayBack组件放在一起。

当我把它放在时间轴的第一帧时:

player.volume = 0;
player._uiMgr._isMuted = true;

我收到错误:

  
    

错误场景= 3A - 简介,图层=操作,框架= 1:第27行:该成员是私有的,无法访问。     videoplayer._uiMgr._isMuted = true;

  

有人说“创建一个setter方法来执行它,编译器错误应该消失!”

但即使使用谷歌搜索setter方法,我也不知道如何解决这个问题。

有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

似乎_uiMgr和_isMuted是private attributes(因此_)。他们有分配给他们的吸气剂吗?如果他们这样做,您应该可以使用player.uiMgr.isMuted = true;

编辑:你必须为FLVPlayer分配一个muteButton,然后在其上发送clickevent。像这样http://www.kirupa.com/forum/showthread.php?193603-FLVPlayback-actionscript-Mute&p=2412841&viewfull=1#post2412841

答案 1 :(得分:0)

如果你有一个变量“玩家”,你想要合作,这就是你应该做的。

(1)首先确定变量的类型:运行:

  trace( typeof player );    

在您的情况下,它会输出“FLVPlayback”

(2)现在转到Adobe网站上的flash参考,并寻找该类:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/video/FLVPlayback.html

(3)在参考文献中,您可以找到以下内容:   (a)公共属性:这些是您可以设置值的类变量。此类中还有一些变量,这些变量未在此处列出,因为您无法访问它们 - 因为它们不是公共的 - 它们仅存在于类(或包)内部使用中。 (例如:_uiMgr)

(b)公共方法 - 这些是你可以运行的功能。这里还有更多功能,供内部使用而未列出。

(c)活动 - AS3非常重要的一部分。用于在不同类之间发送消息或分隔行为,以及与用户交互。阅读:http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html

(d)公共常数

现在,在您的情况下,看起来您正试图将播放器静音。 在上面的列表中寻找“静音”,只会给你一个结果:   muteButton:Sprite静音按钮控件。   我们期待更好的东西,但我们必须与之合作。这是一个按钮,我们会让flash认为用户点击它 - 然后静音。 以下行将解决这个问题:

 player.muteButton.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); 

P.S。

当以这种方式定义变量时:Object player = new FLVPlayback();,运行trace(typeof player)将返回“对象”。您需要运行trace(player.constructor)才能查看变量的运行时类型。