发新话题
打印

通过SimpleConnect动态连接其他组件

通过SimpleConnect动态连接其他组件

我们知道FlashCom中的SimpleConnect组件必须事先在属性栏中设定绑定的组件实例名,其实也可以动态设定这些用到的组件。(更准确的说应该是手动链接这些需要的组件)
在这之前,我们先看一下SimpleConnect组件中相关代码:
  • FCSimpleConnectClass.prototype.attachComponents = function() {
  • //Attach Components
  • for (var i = 0; i < this.fcComponents.length; i++) {
  • this._parent[ this.fcComponents[ i ] ].connect(this.main_nc);
  • this._parent[ this.fcComponents[ i ] ].setUsername(this.username);
  • }
  • this.onComponentsConnected();
  • }

上面的代码段的作用就是SimpleConnect组件附加绑定组件,fcComponents数组包含了我们在属性栏中指定的组件,知道了这个道理后,我们就可以实现动态添加了。
例如,我们可以手动链接peoplelist组件
  • //people是peoplelist组件的实例名
  • //simpleCon是simpleConnect组件的实例名
  • people.connect(simpleCon.main_nc);

如果组件需要引用SimpleConnect组件中的用户名的,可以使用下面代码
  • //av1是AVParseence组件的实例名
  • av1.setUsername(simpleCon.username);



PS:另外一个关于SimpleConnect组件的技巧是如何才能实现单独放置SimpleConnect组件在第一帧,其它组件放在另外的帧上。
这个问题的解决就是在第一帧的simpleconnect组件中的login按钮上添加action,
  • on (release) {
  • _root.gotoAndStop(3);
  • }


当然不要忘了用脚本控制动画停留在第一帧

TOP

发新话题