小小計數(shù)器上的數(shù)字不斷變化著,每用隔一段時間都會有增長,作為主頁的擁有者flash跳轉(zhuǎn)軟件 ,這種感覺真是難以形容。那么,能不能用Flash的動畫效果制作一個計數(shù)器,為我們帶來更令人激動的情景呢?比如,當(dāng)一個訪問者進入你的主頁瀏覽時,計數(shù)器不需要你刷新頁面就會產(chǎn)生動態(tài)的變化,是正在滾動的計數(shù)器。
這個Flash計數(shù)器是由兩部分組成。一部分用于表現(xiàn),使用Flash制作,那么另一部分用來統(tǒng)計,使用ASP制作。
一、計數(shù)器的Flash部分
1.畫出計數(shù)器中0~9的數(shù)字圖像,每個數(shù)字都做成大小一致的一張小圖,最好是矢量的。但因為計數(shù)器不用很大,所以位圖的也可以。打開Flash,然后把畫好的圖像逐一引入到你的Flash里,根據(jù)每張圖的大小和你需要的位數(shù)來確定movie大小。我的圖是15×25的,需要5位,所以movie尺寸是75×25。然后Insert→New symbol屬性是Graphic,起個名字叫作counternum。把數(shù)字圖像從上到下按0~9的順序排整齊。再創(chuàng)建一個叫roller的屬性為Move Clip(簡稱MC)的Symbol。在此MC里畫一個文本框,用右鍵點出文本框的Properties,在ariable里填digit,在Options里,把后三項打鉤,倒數(shù)第三項的text length為1,utlines用默認(rèn)的就行了。
2.在Symbol里加入兩個新層,利用Flash的mask(遮罩)功能。第一層里畫一個和每個數(shù)字圖像大小相同的實心矩形,目的是用它來遮罩?jǐn)?shù)字串(counternum)。進入下面的一層,把存有數(shù)字串的Symbol拉到這一層,把字串里的“0”套在那個矩形中,使它正好被矩形壓住,隔50幀左右插入一個Keyframe(關(guān)鍵幀),把數(shù)字串向上拉(計數(shù)器加1),直到“9”,和那個矩形重合。在這兩幀中做一個Motion。現(xiàn)在選擇矩形層為遮罩并把時間軸延長到和下面那層一樣長,拖動時間控制柄應(yīng)該能看到0~9一個一個滾動出現(xiàn)了!回到剛才那個放文本框的層,時間軸和下面找平后在第一幀的Action里加入stop。現(xiàn)在拖動時間控制柄,同時觀察下面的mask,當(dāng)“1”全部出現(xiàn)后,在此幀中加入Action:
If (Digit = ″1″)
Stop
End If
后面的幀依次類推,mask里的數(shù)字是多少Digit就等于多少FLASH跳轉(zhuǎn)生成器 ,作用是使數(shù)字串產(chǎn)生滾動并停止于Digit變量當(dāng)時的值。在最后一幀的Action里寫入Go to and Play (2)。
3.回到scene,把剛剛做的那個MC重復(fù)拖到里面,一共5個,排整齊后應(yīng)該正好把movie填滿。
4.每個MC起一個Instance Name,比如依次起名M1~M5。再添加一個新層,第一幀里寫入如下Action:
Load Variables (″counter.txt″, 0)
Set Variable: ″/M1:Digit″ = Substring ( c, 1, 1 )
Set Variable: ″/M2:Digit″ = Substring ( c, 2, 1 )
Set Variable: ″/M3:Digit″ = Substring ( c, 3, 1 )
Set Variable: ″/M4:Digit″ = Substring ( c, 4, 1 )
Set Variable: ″/M5:Digit″ = Substring ( c, 5, 1 )
Go to and Play (″StartOver″)
第二幀的Action里寫:
Load Variables (″counter.txt″, 0)
第三幀的Action里寫:
If (/M5:digitsubstring(c,5,1))
Set Variable: ″/M1:Digit″ = Substring ( c, 1, 1 )
Set Variable: ″/M2:Digit″ = Substring ( c, 2, 1 )
Set Variable: ″/M3:Digit″ = Substring ( c, 3, 1 )
Set Variable: ″/M4:Digit″ = Substring ( c, 4, 1 )
Set Variable:″/M5:Digit″ = Substring ( c, 5, 1 )
Go to and Play (″StartOver″)
Else
Go to and Play (″wait″)
End If
第四幀里的Label記為“startover”,并寫入以下Action:
Begin Tell Target (″/M1″)
Play
End Tell Target
后面每隔幾幀再創(chuàng)建一個Keyframe,隔的這幾幀就是每個數(shù)字位變化的間隔時間。在這幀里寫入以下Action:Begin Tell Target (″/M2″)
Play
End Tell Target
依次類推……直到最后一幀,也就是/M5所在的那幀后緊挨著建立一個Keyframe,Label記成“wait”,再隔幾幀創(chuàng)建一個Keyframe,Action里寫入Go to and Play (2)。所隔的幀數(shù)是每次判斷“c”是否有變化所隔的時間。現(xiàn)在,計數(shù)器的Flash部分也就完成了。
二、ASP部分
打開HTML編輯器,在body里寫入以下VBScript代碼:
好了,一個用Flash制作的計數(shù)器就完成了。看完上面的介紹,你自己再用Flash做一個在線人數(shù)統(tǒng)計就很容易了。現(xiàn)在上傳到服務(wù)器上去吧,記住服務(wù)器可要支持ASP哦!
串行外圍設(shè)備接口)是一種高速、全雙工、同步的通信總線,在芯片的引腳上只占用4根線,不僅節(jié)約了芯片的引腳,同時在PCB的布局上還節(jié)省空間。正是出于這種簡單、易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。
1.1Spantan-3ESPI配置流程
SPI方式是通過符合SPI接口時序的第三方SPIFlash對FPGA進行加載。它適合作為FPGA硬件結(jié)構(gòu)的bit文件保存介質(zhì),如果應(yīng)用軟件工程編譯后的代碼較小,保存在同一片SPIFLash中(即復(fù)用SPIFlash)無疑是可行的最廉價方案用flash實現(xiàn)鏈接跳轉(zhuǎn)。
由于本沒計軟件工程規(guī)模較小,所以利用此復(fù)用SPIFlash方式對FPGA進行配置,既保存FPGA配置的bit文件,也保存應(yīng)用軟件工程的bit文件。系統(tǒng)在上電或向PROG_B引腳發(fā)出低脈沖后,F(xiàn)PGA芯片經(jīng)過一個初始化序列清空內(nèi)部FPGA配置存儲器。此序列開始時,DONE和INIT_B引腳均轉(zhuǎn)為低。初始化完成后,INIT_B引腳轉(zhuǎn)為高,并采樣芯片的配置模式及變量選擇引腳。
SPI模式下,F(xiàn)PGA對變量選擇(VS[2:0])引腳采樣,以確定發(fā)出哪個SPI命令序列。當(dāng)初始化之后發(fā)出INIT_B信號時,模式引腳和變量選擇引腳都必須處在正確的邏輯級,以確保正確采樣。
在變量選擇引腳選擇SPI命令集之后,F(xiàn)PGA將CSO_B選擇信號置為低,并且開始通過FPGA的CCLK引腳對SPIFlash存儲器進行時鐘控制。接著發(fā)出8位讀命令后跟24位起始地址0x000000和目標(biāo)命令集的適量虛擬字節(jié)。FPGA從地址0開始讀取SPIFlash存儲器陣列,直到讀完所需的配置位數(shù)。如果從存儲器件讀取到有效比特流,則發(fā)DONE信號,以指示FPGA配置成功。圖1為SPI配置方式的時序。
圖2是AT45DB161DSPIFlash的配置接口。這種配置方式只占用了FPGA芯片的4個引腳,而且配置成功之后,所有SPI引腳都成為可用的用戶I/O引腳,這就節(jié)省了FPGA的引腳資源。
<文章地址:http://m.brucezhang.com/article/other/yFLASHzzjsq.html