`
ycy303
  • 浏览: 191650 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

flash cs3创建外部共享库的问题

阅读更多

flash创建外部共享库具有很多优点。设置共享库的方法我在这儿不详速。

但是在cs3版本中,情况有所不同。我们以skin.swf和main.swf两个文件为例。

skin.swf定义了共享库。main.swf调用该共享库中的元件。

只要main.swf中所调用的库元件在stage 中没有实例名,则一切正常。

但如果你要给main.swf中使用的元件命名,就会报错:1046: Type was not found or was not a compile-time constant: v_bg.

解决的办法就是要人工给该mc定义一个类文件。这样就不会有问题了。

 

2008.3.18

分享到:
评论
3 楼 ycy303 2008-08-28  

用帧标签回避对共享元件的按名引用!

用getChildAt再一次回避了按名引用!

这是个办法。
2 楼 ycy303 2008-08-28  
问:
等下,想到了,我基类里填写这个类文件就行了,这样就只要一个类文件了
答:
呵呵。你可以试试
问:
不得行
答:
我早试过了
你就慢慢写类文件吧。
问:
为啥cs3把共享库弱化了呢,感觉没得以前好用
flash8直接可以把共享库元件拖到舞台上命名用,cs3还需要写类文件
答:
不是弱化,是架构不一样了,有些问题Adobe解决得不好。
还有垃圾回收的问题,cs3也比flash8倒退了

1 楼 ycy303 2008-08-28  
问:
我照你写的那个方法定义了类文件,然后在main文件里把该共享库元件拖到舞台上定义了一个名字,倒是trace这个元件倒是有,可是这个元件里面的一个动态文本txt却无法存取

难道不能读取共享库元件里的子元件?

答:
请在该元件的类里面加这句声明:
public var txt:TextField;

问:

晕,我重新编译res文件要报错:
1151: 定义 txt (在命名空间 internal 中)存在冲突。
去掉public还是一样

答:

我发现了,有这个问题
跟public无关
解决办法:编译res文件时,将类文件屏蔽掉

问:

晕,还真的只有这样,太扯了
我有很多这样的共享库元件,难道都需要为每个元件都写个类文件?

答:

对。你不想?

相关推荐

Global site tag (gtag.js) - Google Analytics