Flash中锚记讲解

很多人都不知道flash中有个叫锚记的东西,更别说使用他了,即使有人知道有这个东西也不见的会使用,即使会使用他也不一定去用。

那么我现在就告诉那些不知道锚记是什么,跟那些不会用锚记的人使用。

锚记是flashMX就已经提供了的功能,众所周知,在纯flash网站中是不能使用后退键的,一般的HTML网站都可以使用浏览器的收藏功能,并且能使用后退键观看刚才看过的内容。我相信浏览器的功能键里用的最多的就是后退,其次是刷新。如果flash不能使用后退键,这会让人感觉到多么的不方便。也正因为这种不方便几乎是难以忍受的,所以MM公司才会开发出锚记这一功能。

但是这一功能还不完美,只能在支持fscommand和javascript交互的浏览器中使用,换句话说就是只能在4.0以上windows下的IE浏览器和任何平台下的3.x-4.x的NP浏览器下才有效果。看看现IE的占有率,我想没人会觉得这个锚记功能是个垃圾,如果换成只支持NP浏览器恐怕就不一样了。如果你只是一个成天叫嚷我只为IE设计网页的设计师,那你就更应该使用这种专为IE而打造的功能了。如果你是一个web计师而不仅仅是只为IE的设计师的话,你也应该使用锚记,因为他不会对其他浏览器下网站的外观产生任何影响,唯一的缺点仅仅是你的网站原文件大了几字节而已。

锚记的具体使用方法是:选择你要使用锚记的贞,(你所选的贞就是你想让浏览器记住这个位置,浏览器记住这个位置后就可以收藏,下次打开浏览器可以直接进入flash中的这个位置,而不用从头开始)在贞属性里可以给贞命名,在输入框里输入你想给你的锚记命的名。下面有个标签类型的选择,有名称,注释,锚记三个选择

(在这里我说说三个类型的区别。名称是我们经常用的,显示在贞上面就是一面小红旗,是做跳转之用如果你给贞命名为 垃圾 那么你就可以使用gotoAndStop(“垃圾”)从flash中的任何位置跳到这垃圾这一贞。注意要使用英文输入法打引号,注释的作用跟代码的注释一样仅仅是方便理解flash文件而已,没有实际功能,显示在贞上是两斜杠。锚记除了具备这两者的功能外还具备我最开始说的那些功能,显示在贞上就是一个锚的样子)

你选择了锚记后,在贞上出现一个锚的标志你就已经在flash中定好了位置,接下来是制作可以使用锚记的HTML。MM为你想的很周到,他可以自动生成带锚记的HTML。先点文件——发布设置——格式类型中要选择HTML,这样右边就会出现HTML的配置框。如果你没选中HTML那么右边的HTML设置是不会出现的。在HTML设置选项卡里有模版可以选择,你选择带有命名锚记的flahs就可以输入可以使用锚记的HTML了,然后点文件——发布,就可以得到一个HTML文件了,这里要注意的是每个HTML文件是随同时发布的flash使用的,如果嵌套其他的flash锚记是不管用的

你已经学会了如何使用锚记,上次我忘记说的是,flash中还有一个选项跟锚记有关那就是在编辑——首选参数——常规里有个“场景上的命名锚记”。这个功能就是在你每个场景的第一贞中自动帮你建立一个锚记。我觉得这个功能挺垃圾的,毕竟现在很少有人使用1个以上的场景,不过如果你是制作相片浏览之类的东西做作多场景还是不错的,节约很多时间。

你用DW打开flash生成的那个可以使用锚记的HTML你会发现出现了几个金黄色的锚一样的标志。如果你用过DW就会发现这跟HTML里的锚点功能的标志一样。其实我以前不知道什么叫锚点,后来有人提出一个问题如何点flash按牛实现锚记功能。(所谓的锚点功能就是在一个页面或者不同页面中的任何位置设置一个点。然后在其他页面设置一个连接,点连接就自动跳到这个预先设置好的点来。这种功能所支持的范围跟flash锚记所支持的浏览器范围是一样的,所以我并不支持使用这种功能,因为对于非windows下的IE浏览器来说,页面上有使用不了的功能应该是件很恼火的事情)在同一页面下实现flash按牛的锚点功能比较容易,先在flash中制作一个跳转按钮 比如gotoAndStop("垃圾") 跳转的贞的名称要与你页面中的锚点的名称一致,这里是跳转贞的名称是”垃圾“,那么你的锚点的名称也要是“垃圾”。

这种方法有一个缺陷就是如果你跳转到了锚点然后靠拖动又回到了按钮处再点按钮就无效了,这就是说这个flash按钮的锚点只可使用一次。解决的方法是使用两个锚点在flash内部也制作两个锚记,而flash内部的两个锚记位置不同但是外观一样进行视觉欺骗让用户感觉不到跳转过。比如你的锚点叫垃圾,那么点击flash里的按钮浏览器就会跳转到垃圾锚点的位置,并且浏览器的地址栏里显示为"..comaa.html#垃圾",这时候你再点flash里的这个锚记按钮不会有任何反应。所以必须要制作两个锚点锚记来欺骗flash让其跳转。

如果要使用非同一页面下用flash按纽达到锚点,道理跟上面一样,只不过这时候flash的跳转按钮并不是起到真正的作用,他只负责跳转到另一个页面比如***.***.com/aaa.html然后在这个页面里嵌套一个看不见的flash实现自动跳转。这时候问题出来了,虽然非同一页面下不会存在点两次的情况,但是一旦嵌套进了一个flash自动跳转后,以后以任何手段到达改页面都会自动跳转。解决这个问题的办法就是让flash的跳转按钮发送一个变量之类的来让被嵌套的看不见的flash判断是否跳转。具体的我就不多说了,因为我觉得挺没意义的。这么麻烦恐怕很少会有人去做。

我在这里只是说出一个解决的方案,我对flash里的锚记的真实原理还不太清楚,因为经过我的测试用我的办法只有在IE中有效果,而在firefox浏览器下却无效。可是奇怪的是纯HTML的锚点却在firefox下有效果。我一直以为flash的锚记跟HTML下的锚点的原理是一样的,看来还是有区别的。至于究竟是什么区别就请高手门去寻找拉。

Published At
Categories with 图形图象
Tagged with
comments powered by Disqus