之前写了一篇关于“为FLASH程序构造灵活的接口”的个人总结,其中以一个简单例子来说明我的想法,这次补一个复杂一些的实际应用来说明提供灵活的接口的好处,对于基本实现原理可参见第一篇文章,在此不对细节做讲解。
首先查看示例,可以明显看出这两个SWF的表现效果是不一样的,在HTML中通过对我在FLASH中预先设置的参数进行不同的配置,基本满足了我们平时在图片滚动应用中的需求。下面是对这个应用我提供的详细参数配置API:SWFObject变量设置:
●bgColor: 十六进制颜色代码
例如:
so.addVariable("bgColor",0xefefef);
功能:设置图片滚动的背景颜色
●fontColor: 十六进制颜色代码
例如:
so.addVariable("fontColor",0xff6600);
功能:设置图片说明和loading的文字颜色
●pwidth:数值
例如:
so.addVariable("pwidth",120);
功能:设置图片的宽度,(不包括文字宽度)
●pheight
例如:
so.addVariable("pheight",90);
功能:设置图片的高度,(不包括文字高度)
●description
例如:
so.addVariable("description","yes");
功能:设置鼠标移动上去是否显示描述,如果为no,则显示阴影
●shadowColor
例如:
so.addVariable("shadowColor",0x00ff00);
功能:如果设置显示阴影,那么可以设置阴影颜色
●filePath
例如:
so.addVariable("filePath","data.xml");
功能:设置数据来源
结合上面参数再分析一次实例效果你应该能发现我预留的参数基本满足了图片滚动展示的灵活配置需求(PS:写该文时发现这个应用中忽略了是否自动滚动的配置,现在也懒得添加了,这里就说明了在设计之初需要考虑好哪些配置可以分离出来,如何让页面制作人员使用最简单地设置来完成他所需要的不同效果,而不是给他一堆参数设置让他头晕眼花。)
这里我自己的设计原则是抛离了我认为多余的表现元素(例如背景图,这个虽然可以由SWF来load,但我认为更简单的是使用HTML结合CSS更灵活的设置,如果指定了SWF所在节点的margin,CSS还可以设置一个更大的图做为背景,表现效果应该更优雅),尽量让SWFObject配置少的参数,避免过于复杂的使用。
我写这个东西只是一个引子,意在分享一种我认为高效、灵活设计方法,(PS:个人认为这样做可以降低团队协作中的耦合度,一个设计合理SWF应用完成以后,页面制作人员应该可以根据配置API来灵活设置自己要的表现,而不是再跟FlashDeveloper反复沟通,然后SWF修改,编译...)更具体的应用还需要大家根据自己的实际需求来制作,欢迎大家交流。