日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

讓Flash網(wǎng)站具有IE前進(jìn)后退的功能_Flash教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Flash 8中文版動(dòng)畫制作入門
完整把握Flash動(dòng)畫設(shè)計(jì)的知識(shí)體系一個(gè)正確的知識(shí)體系是學(xué)好用好Flash的要害,正確的、富含邏輯的知識(shí)體系就像無(wú)邊無(wú)際的叢林,郁郁蔥蔥,但整潔有序。在整潔有

前言

寫完流量統(tǒng)計(jì)的教程以后,本以為會(huì)很輕松地就可以完成該篇文章。后來(lái)才發(fā)現(xiàn),原來(lái)還是碰到了困難。因?yàn)橐ㄟ^(guò)iframe控制主HTML的變量,一開(kāi)始,考慮到打開(kāi)父窗口用的是_parent,而Flash里的父級(jí)也是_parent,于是理所當(dāng)然地以為iframe訪問(wèn)主html也是通過(guò)_parent,結(jié)果,弄了很久,還是提示_parent未定義。
為此,我百度了下,看如何通過(guò)iframe訪問(wèn)主html。暈,原來(lái)這個(gè)是沒(méi)有下劃線的,于是改了下,發(fā)現(xiàn)有新的問(wèn)題,就是提示“沒(méi)有權(quán)限”的錯(cuò)誤。在之前玩反編譯的游戲中碰到了這個(gè)問(wèn)題,是跨域訪問(wèn)導(dǎo)致的。希奇了,我的文件都在本地啊,怎么不行呢?折磨了半小時(shí),決定還是用IIS來(lái)測(cè)試吧。嗯,IIS成功了。難道file協(xié)議也沒(méi)有權(quán)限?還是識(shí)別不了域名?這個(gè)我就沒(méi)研究下去了。

效果預(yù)覽(應(yīng)wolf2999的要求,這次我就不放超女的東西上去了,而且我網(wǎng)站現(xiàn)在加這功能還有點(diǎn)麻煩,因?yàn)榻Y(jié)構(gòu)有點(diǎn)復(fù)雜:
http://hbro.cincn.com/hbro/cours ... ex_flash.html#page1

點(diǎn)左邊一排的按鈕,你會(huì)發(fā)現(xiàn)在動(dòng)畫效果跳轉(zhuǎn)的過(guò)程中,地址欄發(fā)生了改變,但是明顯的是Flash沒(méi)有刷新,同時(shí)后退按鈕已經(jīng)可用。你多點(diǎn)幾次以后,嘗試按后退按鈕,F(xiàn)lash也同樣不刷新,但是它會(huì)依此通過(guò)動(dòng)畫跳轉(zhuǎn)到你之前點(diǎn)過(guò)的page。
這樣,就是通過(guò)IE的按鈕控制Flash的程序了。但是,實(shí)質(zhì)上,是有個(gè)iframe在刷新的,所以,假如網(wǎng)速慢,并且點(diǎn)得很快,就將導(dǎo)致某些頁(yè)面給跳過(guò)。

實(shí)現(xiàn)原理

找了很多方面的資料,本來(lái)想向IE的歷史記錄里人為添加asfunction協(xié)議的地址,但是發(fā)現(xiàn)似乎不可能,在Digi的提點(diǎn)下,我知道了可以通過(guò)刷新iframe來(lái)達(dá)到控制的目的。其過(guò)程為:

  • 在Flash里點(diǎn)擊一個(gè)所謂的鏈接,執(zhí)行一個(gè)動(dòng)作。該狀態(tài)的一些參數(shù)用getURL到iframe里的一個(gè)固定頁(yè)面。比如說(shuō),我點(diǎn)了page1,那么getURL的地址將是statistics.html?page1
  • 點(diǎn)擊幾次以后,iframe其實(shí)已經(jīng)刷新了幾次,于是才會(huì)啟用后退的功能,這個(gè)時(shí)候,其實(shí)iframe已經(jīng)打開(kāi)過(guò)了幾個(gè)頁(yè)面,假如你依此點(diǎn)了page1,page2,page3,page4這四個(gè)按鈕,那么,iframe就瀏覽了statistics.html?page1,statistics.html?page2,statistics.html?page3,statistics.html?page4這四個(gè)頁(yè)面了。最終定位在statistics.html?page4
  • 此時(shí)點(diǎn)IE的后退按鈕,iframe將返回statistics.html?page3。但是單純這樣并不會(huì)讓Flash受到控制。所以,我們需要在statistics.html打開(kāi)的時(shí)候,啟用一個(gè)控制Flash的函數(shù),就實(shí)現(xiàn)IE后退的功能了。前進(jìn)的道理也一樣。

具體做法

1.1 新建一個(gè)Flash文檔,保存為index_flash.fla

1.2 在該文檔里新建一個(gè)MC,名為pagesButtons_clip,在里頭放一個(gè)按鈕,寫入代碼:

on (release) {
_parent.loadNews(_name);//該函數(shù)用于Flash內(nèi)的頁(yè)面跳轉(zhuǎn)。
}

1.3 再載入一個(gè)動(dòng)態(tài)文本,變量名為_(kāi)name

1.4 在主場(chǎng)景里放入四個(gè)pagesButton_clip,分別命名為page1,page2,page3,page4

1.5 在主場(chǎng)景新建一個(gè)MC,實(shí)例名為pages,在里頭放入實(shí)例名為page1,page2,page3,page4的MC。

1.6 在適當(dāng)?shù)奈恢媒opages建立一個(gè)遮罩mask。

1.7 下面可以寫代碼了,這次跳轉(zhuǎn),我會(huì)讓相應(yīng)的page定位至mask那里,從而讓該頁(yè)面顯示,其它則隱藏。
主場(chǎng)景的幀里寫:

var initx = mask._x;//首先定位一個(gè)初始點(diǎn),這是頁(yè)面定位的常量
var inity = mask._y;//同上
var targetx=initx;
var targety=inity;//這兩個(gè)變量也用于定位,使用韓式緩沖公式算法,可以讓MC緩慢地移動(dòng)到(targetx,targety)這一點(diǎn)。
this.onEnterFrame = function() {
pages._x = pages._x-0.2*(pages._x-pages.targetx);
pages._y = pages._y-0.2*(pages._y-pages.targety);
};//這個(gè)則是緩沖公式
function loadNews(href) {//定義按鈕觸發(fā)的函數(shù)
pages.targetx = initx-pages[href]._x;
pages.targety = inity-pages[href]._y;//先讓target定位至當(dāng)前MC(也就是傳入的參數(shù)href),然后緩沖公式會(huì)讓當(dāng)前傳入的MC顯示出來(lái),其它的則隱藏
fscommand("setAddress", href);//設(shè)定地址欄內(nèi)容,用于刷新頁(yè)面時(shí)的定位,在JS里會(huì)響應(yīng)這一命令。
getURL("statistics.html?" href, "stat");//打開(kāi)iframe,讓iframe記錄當(dāng)前點(diǎn)到的MC的實(shí)例名href
}

2.1 以帶有fscommand跟蹤的Flash發(fā)布一個(gè)HTML文件和一個(gè)SWF文件,接著把發(fā)布設(shè)置中格式選項(xiàng)卡的HTML勾去掉。

2.2 用記事本打開(kāi)index_flash.html文件,找到//place your code here 一句。寫入

if(command=="setAddress"){
document.location.hash=args
}

2.3 然后定義一個(gè)onLoad執(zhí)行的函數(shù)JS_LoadNews

function JS_LoadNews(){
window.open("statistics.html?" document.location.hash.slice(1),"stat")//讓名為stat的iframe打開(kāi)一個(gè)帶參數(shù)的地址
}

2.4 根據(jù)上一步的JS,加一個(gè)iframe

<iframe noscroll border="0" src="about:blank" width="1" height="1" name="stat" id="stat"></iframe>

2.5 在body標(biāo)簽里加onload=JS_LoadNews()

3.1 新建一個(gè)HTML文件,名為statistics.html,在這里寫入控制Flash的代碼:

<script language="javascript">
function pageLoad(){
window.parent.index_flash.setVariable("link",window.document.location.search.slice(1))//parent指父級(jí)框架,這里可以指向FLASH文件,location.search是獲取地址參數(shù),該值包含“?”,所以用slice(1)去掉。
}
</script>
<body onload=pageLoad()>
</body>

3.2 上面的代碼設(shè)置了Flash里的link值,為了觸發(fā)Flash的函數(shù),在Flash里用addProperty來(lái)觸發(fā)相關(guān)函數(shù):
追加幀代碼:

this.addProperty("link", getLink, setLink);
function getLink() {
}
function setLink(link) {
fscommand("setAddress", link);
pages.targetx = initx-pages[link]._x;
pages.targety = inity-pages[link]._y;
}

分享:完整把握Flash動(dòng)畫設(shè)計(jì)的知識(shí)體系
完整把握Flash動(dòng)畫設(shè)計(jì)的知識(shí)體系一個(gè)正確的知識(shí)體系是學(xué)好用好Flash的要害,正確的、富含邏輯的知識(shí)體系就像無(wú)邊無(wú)際的叢林,郁郁蔥蔥,但整潔有序。在整潔有

/所屬分類:Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程