转载于:子寒互动视觉 [http://www.xmlas.com]
flash控制时间轴的暂停与播放首页
虽然曾经在很漫长的一段时间里爱上了flash,并且为此还啃了相当多的书籍与教程,最后总算对as代码有些独特的小见解了,但随着flash全站在网站应用上的渐渐不如意,对flash的热情也渐渐的平息了下来。在一年前,自己还疯狂的迷恋于flash的网站应用开发,但遗憾的是搜索引擎经过了n年的更新,依然对flash是很不友好的。flash的确是好东西,加之as语言的逐渐规范与强大,其做出的东西显然不是其他语言及软件可以比拟的,但就是因为不被搜索引擎的支持导致了其在SEO方面的严重缺失。自从将自己的网站定为了wordpress,我就几乎摒弃了所有flash的东西,也仅仅是为了证明自己曾经迷恋过flash,而做了一个flash全站的页面。
前几天因为公司的一项东西因为要用到了flash,才重新将flash拾了起来,一切做起来根本就不费劲,除了一些素材原件的确立之外,几乎是闭着眼睛都能做出,但最后因为需要控制主时间轴的随意暂停播放而使我略微的放慢了制作的脚步。
原本刚遇到这个功能时,首先想到的就是在按钮上加上一些play();或stop();的语句来对时间轴进行控制,但是结果是无效的,比如播放按钮起名为mcPlay_btn,暂停按钮起名为mcStop_btn,这样预初想的代码应该是以下这个样子:
mcPlay_btn.onRelease=function(){
_root.play();
}
mcStop_btn.onRelease=function(){
_root.stop();
}
上段代码里,关于停止的代码是无效的,之所以会这样其实也不奇怪的,仔细想了想,当然是因为我们没有告诉时间轴应该在点击按钮时在哪里停止,因为是完全根据点击者的点击而随意的,所以不可能在stop();的参数加上具体的帧数,更不能在时间轴上加上任意的stop();语句,想要实现当然要使用动态的指定,于是我想到了以后之前并不熟悉的属性:_currentframe,它指的是当前场景的所有帧,那么现在就可以明了了,我们只要在stop();加入这个参数就可以实现我们想要的功能了,具体改动后的代码如下:
mcPlay_btn.onRelease=function(){
_root.play();
}
mcStop_btn.onRelease=function(){
_root.stop(_root._currentframe);
}
在网上看到有些人求助过这个问题,而且给予的回答显然都不能解决实际的问题,因此整理了一下,把这条小经验写了下来,希望可以帮助和当年疯狂迷恋flash的我一样迷恋flash的新同学。
flash控制时间轴的暂停与播放首页
虽然曾经在很漫长的一段时间里爱上了flash,并且为此还啃了相当多的书籍与教程,最后总算对as代码有些独特的小见解了,但随着flash全站在网站应用上的渐渐不如意,对flash的热情也渐渐的平息了下来。在一年前,自己还疯狂的迷恋于flash的网站应用开发,但遗憾的是搜索引擎经过了n年的更新,依然对flash是很不友好的。flash的确是好东西,加之as语言的逐渐规范与强大,其做出的东西显然不是其他语言及软件可以比拟的,但就是因为不被搜索引擎的支持导致了其在SEO方面的严重缺失。自从将自己的网站定为了wordpress,我就几乎摒弃了所有flash的东西,也仅仅是为了证明自己曾经迷恋过flash,而做了一个flash全站的页面。
前几天因为公司的一项东西因为要用到了flash,才重新将flash拾了起来,一切做起来根本就不费劲,除了一些素材原件的确立之外,几乎是闭着眼睛都能做出,但最后因为需要控制主时间轴的随意暂停播放而使我略微的放慢了制作的脚步。
原本刚遇到这个功能时,首先想到的就是在按钮上加上一些play();或stop();的语句来对时间轴进行控制,但是结果是无效的,比如播放按钮起名为mcPlay_btn,暂停按钮起名为mcStop_btn,这样预初想的代码应该是以下这个样子:
mcPlay_btn.onRelease=function(){
_root.play();
}
mcStop_btn.onRelease=function(){
_root.stop();
}
上段代码里,关于停止的代码是无效的,之所以会这样其实也不奇怪的,仔细想了想,当然是因为我们没有告诉时间轴应该在点击按钮时在哪里停止,因为是完全根据点击者的点击而随意的,所以不可能在stop();的参数加上具体的帧数,更不能在时间轴上加上任意的stop();语句,想要实现当然要使用动态的指定,于是我想到了以后之前并不熟悉的属性:_currentframe,它指的是当前场景的所有帧,那么现在就可以明了了,我们只要在stop();加入这个参数就可以实现我们想要的功能了,具体改动后的代码如下:
mcPlay_btn.onRelease=function(){
_root.play();
}
mcStop_btn.onRelease=function(){
_root.stop(_root._currentframe);
}
在网上看到有些人求助过这个问题,而且给予的回答显然都不能解决实际的问题,因此整理了一下,把这条小经验写了下来,希望可以帮助和当年疯狂迷恋flash的我一样迷恋flash的新同学。