佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP生成動態(tài)flash的工具與介紹

ASP生成動態(tài)flash的工具與介紹

熱門標(biāo)簽:電子圍欄 服務(wù)器配置 Mysql連接數(shù)設(shè)置 Linux服務(wù)器 團(tuán)購網(wǎng)站 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù) 阿里云
編者按:編程技術(shù)的發(fā)展真是日新月異。通過ASP等程序動態(tài)生成HTML網(wǎng)頁似乎已不能算是最新科技。Macromedia公司的Flash技術(shù)自推出以來,已有2億4千8百萬用戶,制作flash網(wǎng)站已是流行趨勢。就像HTML頁面可以用ASP動態(tài)生成 一樣,F(xiàn)lash 動畫也可以使用支持 COM Automation的語言(如Borland Delphi,ASP, Visual Basic 等)動態(tài)生成。該文詳細(xì)介紹了如何應(yīng)用 Bukoo Flash Objects實現(xiàn)Flash網(wǎng)頁的交互應(yīng)用,具有很強(qiáng)的實用價值。值得編程追新族們一覽。 

  一、概述 

  筆者應(yīng)用 Microsoft Visual C++ 中的 ATL ,將 SWF SDK 中的高級類封裝成了 COM Objects ,以便使更多的支持COM Automation的編程語言能夠生成 Flash 動畫。這些 COM Objects 被命名為  Bukoo Flash Objects 。本文不是描述 Bukoo Flash Objects 的開發(fā)方法和過程,而是介紹如何使用它。 

  二、下載安裝 

  Bukoo Flash Objects 可以在以下網(wǎng)址下載:   http://www.delphibbs.com/bukoo  或者 http://www.geocities.com/yiyisun/bukoo  。下載的文件為 Swfobjs.zip ,解壓后除了文檔和范例, Bukoo Flash Objects 就在 swfobjs.dll 中,使用 regsvr32 swfobjs.dll 安裝 Bukoo Flash Objects ;使用  Regsvr32 /Uswfobjs.dll 卸除 Bukoo Flash Objects 。 

  三、基本對象及其屬性 

  Bukoo Flash Objects 總共包括三個 COM Objects : SwfMovie 、 SwfObject 和 SwfAction 。 

  通過創(chuàng)建這三個對象來生成 Flash 動畫的過程是:創(chuàng)建 SwfMovie 動畫對象;設(shè)置動畫屬性;在幀中創(chuàng)建、插入、刪除 SwfObject 元素對象和 SwfAction 動作對象;最后輸出 Flash 動畫。   下面是這三個對象應(yīng)用方法介紹。 

  1 .SwfMovie 動畫對象 

  SwfMovie 對象代表即將生成的 Flash 動畫,首先需要設(shè)置的是動畫的大小, SwfMovie 對象的 SetSize 方法用于設(shè)置動畫的尺寸。要注意Swf中坐標(biāo)單位是 twip ,即 1/1440 英寸,或者說是 1/20 像素,例如動畫尺寸為 400 x 300 像素,即為  8000 x 6000 twip 。必須這樣調(diào)用: setsize(8000, 6000) 。 

  setFrameRate (12) ,就是動畫每秒放 12 幀,每秒幀速高,動畫平滑,但是 Swf文件會變大,影響下載速度,故需要權(quán)衡利弊。用 GotoFrame 方法定位到指定幀,然后插入元素或者動作, SwfMovie 對象自動增加幀數(shù)到調(diào)用 GotoFrame 方法的最大數(shù)目。 

  插入和刪除元素的方法是 AddObject , RemoveObject ,插入動作的方法是 AddAction 。 

  WriteMovie 方法就是按照指定的文件名生成 sWF 文件。 SwfMovie 的 Content 屬性是 VARIANT 類型,也可以用 AsP 中的 response.binarywite 輸出到網(wǎng)頁中。 

  2 . SwfObject 元素對象 

  SwfObject 像是一個千面人,創(chuàng)建這個對象以后,可以用其 MakePolygon 方法使其變成多邊形;用 MakeRectangle 方法變成矩形;用 MakeOval 方法變成橢圓形;用 MakeCircle 方法變成圓形;用 MakePitcure 方法變成 Jpeg 圖像;用 MakeButton 方法變成按鈕;用 Makesound 方法變成聲音;用 MakeFont 方法變成字體;用 MakeText 方法變成文字等等。sWF 中的文字處理比較特殊,需要先將 TrueType 字體轉(zhuǎn)換成字體對象,再用字體對象生成文字。 

   SwfObject 的 Translate 方法用于平移元素,坐標(biāo)定位 twip ; Rotate 方法用于旋轉(zhuǎn)元素; scale 用于縮放元素。注意旋轉(zhuǎn)和縮放方法的參數(shù)單位也比較特殊,稱為 Fixed ,簡單的換算方法是乘以 65536 ,例如旋轉(zhuǎn) 10 度,需要用 10× 65536 ,放大 2倍,需要用 2×65536 ,依次類推。   SwfObject 的 setLineWidth 方法用于設(shè)置對象邊框線的寬度,單位 twip ; setLineColorA 方法用于設(shè)置對象邊框線的顏色,它有四個參數(shù),分別代表紅、綠、藍(lán)和 Alpha 。Alpha  參數(shù)規(guī)定顏色的透明程度。 Alpha=255 不透明,完全覆蓋下面的圖形; Alpha=0 全透明,讓下面的圖形全部透出來,自己就看不見了。 

  SwfObject 的 setNoFill 方法用于設(shè)置對象不填充, setsolidFill 用于設(shè)置對象用單色填充,也可以用 alpha  規(guī)定透明程度。 setLinearFill 方法用于設(shè)置對象從一個顏色到另外一個顏色逐漸線性過渡, setLinearFillCenter 方法用于設(shè)置顏色線性過渡的中心點。setRadialFill 方法用于設(shè)置對象從一個顏色到另外一個顏色放射性逐漸過渡。  setRadialFillCenter 方法用于設(shè)置顏色放射性過渡的中心點。   SwfObject 變成按鈕的方法的過程稍微復(fù)雜些,因為按鈕需要四個圖形,分別代表按鈕普通狀態(tài)、鼠標(biāo)劃過狀態(tài)、鼠標(biāo)下落狀態(tài)和提示狀態(tài)的圖形。按鈕被按動后將激發(fā)的動作,需要用 QueueEvent 方法加入動作對象。 

  3 . SwfAction 動作對象 

  目前, Bukoo Flash Objects 支持五個動作:停止動畫、播放動畫、跳轉(zhuǎn)到某個幀、導(dǎo)航到 URL ,以及在使某個 html frame 導(dǎo)航到 URL 。與 SwfObject 一樣,  SwfAction 對象創(chuàng)建后,可以用 MakeActionstop 、 MakeActionPlay 、  MakeActionGotoFrame 、 MakeActionGotoURL 以及 MakeActionGotoURLTarget 變成相應(yīng)的動作。 

  四、 ASP 范例 

  這個 ASP 程序( sample1.asp )將動態(tài)創(chuàng)建 Flash 動畫,包含放射性填充背景、一個自右向左移動的文字和三個擴(kuò)張的圓形,Swf文件將以二進(jìn)制流的方式被寫入到瀏覽器中。 sample1.asp源代碼。 

  如果需要將動態(tài)生成的 Flash 動畫插入其他網(wǎng)頁,可以用參照 dispswf.asp 來做。 

  兩個 ASP 配合使用的 URL 為: 

  http://localhost/swf/dispswf.asp?swf_url=sample1.aspwidth=300height=50  

  五、進(jìn)一步討論 

  通過 COM 技術(shù), Bukoo Flash Objects 在VC++的SWF SDK和VC++ 以外的其它程序設(shè)計語言或者環(huán)境之間架設(shè)了橋梁,使得利用 ASP 、Delphi 和其他語言能夠很方便地生成Flash 動畫。 

  但是,SWF SDK 中包含了許多錯誤 (bug) ,下載和使用SWF SDK 的讀者需要特別注意,例如,沒有將 TrueType 字體轉(zhuǎn)換為  Flash 字體的功能、對象的幾何變換公式是錯誤的等等。這些問題在 openswf.org 和 flashkit.com 的討論組中有很多討論。筆者在制作 Bukoo Flash Objects 時,已經(jīng)盡量改了一批類似的缺陷和錯誤。估計難免還有遺漏之處,這將大大影響  Bukoo Flash Objects 的質(zhì)量。隨著 Flash 5 的正式發(fā)布,預(yù)計SWF 5 的SDK不久也會推出,希望它能修正其中的  bug。屆時,筆者將用新的 SDK 重新編譯 Bukoo Flash Objects 。 

  下一個版本的 Bukoo Flash Objects 計劃將增加對中文、對嵌入動畫 (sprite) 和對變形 (morph) 的支持。 

  歡迎讀者對 Bukoo Flash Objects 提出建議和批評。

標(biāo)簽:蚌埠 衢州 江蘇 大理 衡水 棗莊 廣元 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP生成動態(tài)flash的工具與介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    乌兰县| 出国| 汶川县| 宣城市| 金华市| 昂仁县| 绩溪县| 永川市| 酒泉市| 河间市| 嘉禾县| 河北省| 建瓯市| 虞城县| 射洪县| 墨玉县| 鸡泽县| 肃南| 满洲里市| 陵川县| 体育| 大港区| 潼关县| 宜春市| 阿坝| 惠州市| 海阳市| 新宾| 清镇市| 大洼县| 汕头市| 孟村| 施秉县| 瓦房店市| 文昌市| 阿克苏市| 那坡县| 剑川县| 孟州市| 广州市| 新野县|