仿百度文库制作(1)-----------flexpaper
一、在flex builder4中新建一个工程项目
(2011年的做的一个东东,整理硬盘的时候发上来吧,免得到时候无意中清理掉了。)
二、把FlexPaper的源代码从文件系统中导入到Mypaper项目中(右键----导入):
找到FlexPaper的源代码文件夹路径
全选,完成,有提示,选择全部覆盖
三、出现了一个编译错误的选项,大体意思是找不到语言包的,修改路径去掉不必要的语言信息
修改方法:
修改完成之后出现了另外一个错误,主要是在flex3中的主题格式在flex4中已经被去掉不能识别,所以修改成项目的格式是兼容flex3的:
打上对勾:
已经没有任何错误了。但是到了这里还不能正确显示出swf文件,需要修改对应的源码
四、修改对应源码:
a) FlexPaperViewer.mxml文件删掉不必要的SwfFile="{SwfFile}"属性
添加一个方法:
protectedfunction viewerCreationCompleteHandler(event:Event):void{
loadSwf(SwfFile);
}
把添加的方法和creationComplete属性连接起来creationComplete="viewerCreationCompleteHandler(event)":
b)修改Viewer.as,把
public function set SwfFile(s:String):void {改成public function set loadSwfFile(s:String):void{
c) 最后修改FlexPaperViewer_Base.mxm文件:
把viewer.SwfFile = s;修改成viewer.loadSwfFile(s);
五、生成swc库文件:
可以看到生成好的swc库文件放在,工程下的bin文件夹
六、新建一个Flex项目去使用这个swc库
完成
导入swc:
选择刚才编译好的swc库文件,然后切换到目录的设计视图,可以看到自定义控件出现了Flexpaper:
直接拖进来,然后再源代码里面打开要加载的swf文件(对应的swf文件必须放在工程的bin-debug文件夹中):
写了对应控件的id之后,可以直接在mx的代码中paper.loadSwf("Paper3.swf");这么去调用
运行程序之后,出现:
表示重新编译的Flexpaper swc库文件已经能成功运行。
但是新编译出来的swc库文件会带有原来的版本信息
那么第二步,就是要去掉所有的flexpaper的版本信息。