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

Flash電子書鼠標(biāo)拖拽翻頁(yè)效果原理_Flash教程

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

推薦:制作無(wú)限級(jí)菜單
原來(lái)是三級(jí)菜單,寫書時(shí)想把它做為例子(第5章的第4個(gè)例子中),于是用遞歸改成無(wú)限級(jí)的首先得預(yù)備xml文件部分載圖圖片如下:核心代碼:functionaddMenu(m

最近要做些電子書,本來(lái)預(yù)備去網(wǎng)上買現(xiàn)成的翻頁(yè)效果的組件,但一看報(bào)價(jià)嚇一跳,而且執(zhí)行效率也不高,一個(gè)叫AsFlipPage4.0的組件CPU占用率高居70%,喊價(jià)1000RMB,真是黑心商人。下載了幾個(gè)開源的程序自己也看不懂。于是一咬牙自己做了一個(gè),并放上源程序。過兩星期再把變量接口做好,免費(fèi)發(fā)布。

設(shè)置遮罩和陰影之后的最終品

主要原理:

  • 將電子書分為3個(gè)內(nèi)容層,疊放順序如圖.第一層為當(dāng)前頁(yè)面層,是現(xiàn)在正在顯示的頁(yè)面;第二層是隨鼠標(biāo)拖拽時(shí)卷起的頁(yè)角,第三層是當(dāng)頁(yè)角卷起時(shí),露出下一頁(yè)的層。
  • 設(shè)置遮罩:當(dāng)頁(yè)邊卷起時(shí),層1僅顯示四邊形FBDE內(nèi)部分,層2僅顯示ABCD部分,層3僅顯示BGHD部分.
  • 旋轉(zhuǎn):層2內(nèi)的內(nèi)容要隨著鼠標(biāo)運(yùn)動(dòng)而不停變換傾斜角度,其角度始終與AC邊斜度一致.
  • 翻頁(yè):當(dāng)頁(yè)面完全翻過時(shí),層1的當(dāng)前頁(yè)數(shù)=當(dāng)前頁(yè)數(shù) 1

程序的核心在于如何獲得四個(gè)點(diǎn)ABCD的坐標(biāo),我使用的是求垂直平分線的方法,既:點(diǎn)C是鼠標(biāo)位置,點(diǎn)H是頁(yè)角位置,BD既為此兩點(diǎn)間的垂直平分線.由已知的C,H坐標(biāo)求出直線BD的一次函數(shù)y=kx b以后再求出其與FG,EH的切點(diǎn),既得點(diǎn)B,D坐標(biāo),點(diǎn)A是點(diǎn)G于直線BD的對(duì)稱點(diǎn),通過求點(diǎn)G對(duì)BD的對(duì)稱點(diǎn)既可得點(diǎn)A坐標(biāo).

demo1: 4個(gè)頂點(diǎn)的計(jì)算:將鼠標(biāo)移到黃色熱區(qū)并拖動(dòng)

其他幾個(gè)要點(diǎn):

限制C點(diǎn)范圍:當(dāng)鼠標(biāo)在下圖灰色區(qū)域內(nèi)時(shí),點(diǎn)C的坐標(biāo)既等于鼠標(biāo)坐標(biāo),當(dāng)鼠標(biāo)離開灰色區(qū)域時(shí),點(diǎn)C必須停留在區(qū)域內(nèi).弧KML是以點(diǎn)J為圓心,KJ為半徑的圓,弧KNL是以點(diǎn)I為圓心,IK為半徑的圓(demo1既未限制C點(diǎn)范圍,若鼠標(biāo)超過弧形區(qū)域就會(huì)出錯(cuò).

響應(yīng)事件:設(shè)置4個(gè)熱區(qū),分別位于書的4個(gè)頂點(diǎn),分別設(shè)置rollOver,rollOut,releaseOutside,release事件函數(shù).事實(shí)上這一部分函數(shù)編寫極費(fèi)時(shí)間,需要考慮各種各樣的可能性和針對(duì)性的處理方法.

鼠標(biāo)吸附及黏滯:當(dāng)鼠標(biāo)進(jìn)入熱區(qū)和快速移動(dòng)時(shí),頁(yè)角是逐漸黏附向鼠標(biāo)的,這樣可以使動(dòng)畫看上去更流暢.demo4設(shè)置了吸附,demo1沒有設(shè)置.

陰影:翻頁(yè)時(shí)的陰影須時(shí)刻與直線BD的位置保持一致,書的背景陰影要考慮到首頁(yè)和末頁(yè)兩個(gè)非凡情況.

首頁(yè)與末頁(yè):在翻動(dòng)到首頁(yè)與末頁(yè)時(shí)層3遮罩須重新設(shè)置為整本書寬的1/2

分享:用Flash9/as3跟蹤音頻波形
Actionscript3.0提供的新功能,其中用到了ByteArray、SoundMixer。代碼如下:functionfunc(a:Number){returnnum*Math.sin(a);}functiondrawFunction

來(lái)源:藍(lán)色理想//所屬分類:Flash教程/更新時(shí)間:2008-03-05
相關(guān)Flash教程